« STIC:STIC I - exercice 5 (Wall-e) » : différence entre les versions

De EduTech Wiki
Aller à la navigation Aller à la recherche
(Page créée avec « {{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</ca... »)
 
Aucun résumé des modifications
Ligne 4 : Ligne 4 :
== Introduction ==
== Introduction ==


À définir
Cet exercice continue la découverte de l'interactivité avec [[JavaScript]] avec l'introduction du drag&drop. Pour ce faire, les bibliothèques [[JQuery]] et [[JQuery UI]] seront abordées.
 
=== Connaissances/compétences envisagées ===
À l'issue de cet exercice vous devez avoir acquis les connaissances/compétences suivantes :
 
* Comprendre le fonctionnement de [[JQuery]] par rapport au "vanilla" [[JavaScript]]
* Savoir consulter et utiliser une API différente/supplémentaire par rapport au langage de base
* Comprendre les enjeux techniques (et quelques aspects théoriques) du drag&drop
** Savoir identifier et rendre un élément "draggable"
** Savoir identifier et rendre une zone "droppable"
** Savoir relier le drag&drop à la logique d'une application
* Réfléchir aux avantages/désavantages en termes pédagogiques d'une interaction drag&drop par rapport à d'autres interactions possibles
 
=== Prérequis ===
 
Lectures conseillées :
 
* [[JQuery]] : se familiariser avec la syntaxe de base --> $("..")
 
== Activité en salle de classe ==
 
=== JQuery ===
 
* Utilisation de base, voir [[jQuery]]
* Petit exemple: http://tecfa.unige.ch/guides/jquery/ex/scratch.html
 
=== JQuery UI ===
* Etudier les exemples drag and drop dans le tutoriel [[JQuery_UI#Drag_and_drop_avec_jQuery_UI|JQuery UI]]
* [http://jqueryui.com/download/ Télécharger une config. de JQuery UI], ensuite dezipper.
* [http://tecfaetu.unige.ch/perso/maltt/fritz0/guides/jquery-ui/ex6_drag_and_drop_no_code.html Exemple moyen] (Pays/Continents). Il suffit de copier/coller la page dans le répértoire ''jquery-ui-1.11.2.custom'' et il marchera.
 
Une version raccourcie de cet exemple simple est ci-dessous:
<source lang="HTML5">
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery Ui Exemple  : application drag and drop sans code supplémentaire</title>
<link rel="stylesheet" type="text/css" href="jquery-ui.min.css">
<style>
.item {
float: left;
width: 150px;
border: 1px solid #999;
background-color: #F9F6D0;
padding: 10px 15px;
font-weight: bold;
font-size: 16px;
margin-right: 20px;
margin-bottom: 50px;
}
 
.clear {
clear: both;
overflow: hidden;
}
 
.container {
float: left;
width: 200px;
height: 250px;
border: 1px solid #999;
background-color: #DEF8FC;
padding: 10px 15px;
margin-right: 20px;
}
</style>
</head>
 
<body>
 
<h1>jQuery UI - application drag and drop sans code supplémentaire</h1>
<p>Ce petit jeu concernant la géographie est développé exclusivement à l'aide des méthodes,
options et événements disponibles avec jQuery UI, c'est-à-dire qu'il n'a pas fallu écrire
du code JavaScript spécifique. </p>
<p><strong>Trainer les pays dans le continent correspondant.</strong></p>
<p><div class="item amerique">Bolivie</div>
<div class="item afrique">Côte d Ivoire</div>
<div class="item europe">Grèce</div>
<div class="item asie">Thailande</div>
<div class="item amerique">Canada</div>
<div class="item asie">Inde</div>
<div class="item oceanie">Nouvelle Zelande</div>
<div class="item afrique">Tanzanie</div>
<div class="item europe">Moldavie</div>
<div class="item oceanie">Australie</div>
</p>
<div class="clear"></div>
<div class="container afrique-container"><h2>Afrique</h2></div>
<div class="container amerique-container"><h2>Amérique</h2></div>
<div class="container asie-container"><h2>Asie</h2></div>
<div class="container europe-container"><h2>Europe</h2></div>
<div class="container oceanie-container"><h2>Oceanie</h2></div>
<div class="clear"></div>
<hr>
<p><a href="http://tecfaetu.unige.ch/perso/maltt/fritz0/">MAF</a> (23.08.2014)</p>
 
<script src="external/jquery/jquery.js"></script>
<script src="jquery-ui.min.js"></script>
<script>
$(".item").draggable({
revert: "invalid",
cursor: "move"
});
 
$(".afrique-container").droppable({
accept: ".afrique"
});
$(".amerique-container").droppable({
accept: ".amerique"
});
$(".asie-container").droppable({
accept: ".asie"
});
$(".europe-container").droppable({
accept: ".europe"
});
$(".oceanie-container").droppable({
accept: ".oceanie"
});
  </script>
</body>
</html>
 
</source>
 
== Projet 5 ==
 
=== Tâche ===
 
'''Deadline''': Minuit, dimanche 31 janvier 2016
 
(1) Faites une application JavaScript/JQuery qui implémente une application pédagogique "drag and drop" que vous avez conçue vous-même.
 
* Vous pouvez (mais ne devez pas) reprendre le code des exemples discuté en cours. Il faut veiller à bien introduire l'utilisateur à la tâche. Cela peut se faire avec une page d'entrée qui explique le contexte et donne éventuellement une petite aide (mais cette dernière peut aussi se placer dans la page pour le "jeu"). Note: Il est possible d'utiliser une seule page HTML (à condition que ses éléments changent, plus difficile à implémenter).
 
Le sujet de l'application doit être en rapport avec une thématique "MALTT"
 
(2a) Documentez '''brièvement''' votre code HTML/JavaScript en insérant les informations suivantes en haut du code JavScript ou HTML (c-a-d à un endroit stratégique approprié que tout le monde peut repérer)
* Auteur
* Date
* Objectifs et utilisation (soyez très courts)
* Crédits (si nécessaire, par exemple pour images et clip art réutilisé)
 
(2b) Documentez également les passages difficiles du code JavaScript
 
(3) Participez au wiki selon les instructions données dans le programme du cours.
 
(4) Faites un rapport (voir aussi ci-dessous)
 
=== Ressources externes ===
 
* Vous pouvez utiliser du "artwork" externe (mais pas plus que 66 %)
* Vous pouvez utiliser et/ou adapter du code JavaScript/JQuery fabriqué par d'autres, mais vous devez le citer et vérifier les droits.
* Vous devez citer les sources !
 
=== A rendre ===
 
Le dispositif (code source et swf) est à mettre en ligne avec un petit rapport qui se trouvera ici:
/etu-maltt/______/____/stic-1/ex5
 
Cette page de rapport doit inclure:
* Auteur et date
* Objectifs, ce que le dispositif est censé faire.
* Design du dispositif
* Pas de longue explication de la production, mais un petit (!) résumé des étapes.
* Difficultés
* Auto-évaluation
* Références
* Un lien vers le dispositif
* Un lien vers vos contributions wiki ou alternativement un résumé en une phrase ''plus'' un lien vers votre home page wiki. Il faut que l'on sache ce qu'il faut compter pour chaque exercice sans jouer aux détectives.
 
'''N'oubliez pas la contribution wiki obligatoire'''
 
=== Evaluation ===
 
Voir la grille dans Moodle (pareille pour tous les projets)
 
== Documentation et aide ==
 
=== Documentation ===
 
Pour apprendre un peu de JavaScript, lisez:
* [[JavaScript]], une introduction "douce" à JavaScript
* [[Tutoriel JavaScript de base]]
 
Pour JQuery, lisez:
* [[JQuery]]
* [[JQuery UI]] et notamment la partie [[JQuery_UI#Drag_and_drop_avec_jQuery_UI|Drag and drop avec jQuery UI]]
 
Pour les démos
* [[:en:DHTML]]
 
Sinon, il existe littéralement des centaines de sites qui vous permettent d'apprendre du JavaScript.
* [https://developer.mozilla.org/fr/docs/Web/JavaScript MDN] est réputé être un bon site pour les gens ayant déjà qqs. notions de base en informatique. La versions [https://developer.mozilla.org/en-US/docs/Web/JavaScript anglaise] est mieux développée.
* [http://www.w3schools.com/js/default.asp W3Schools] ou [http://www.codecademy.com/ CodeAcademy] peuvent être conseillés aux débutant(e)s
* Voir [[Liens JavaScript]] pour plus ...
 
=== Aide ===
 
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.

Version du 8 novembre 2016 à 12:31

Cette page fait partie des cours STIC I et STIC II

Introduction

Cet exercice continue la découverte de l'interactivité avec JavaScript avec l'introduction du drag&drop. Pour ce faire, les bibliothèques JQuery et JQuery UI seront abordées.

Connaissances/compétences envisagées

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

  • Comprendre le fonctionnement de JQuery par rapport au "vanilla" JavaScript
  • Savoir consulter et utiliser une API différente/supplémentaire par rapport au langage de base
  • Comprendre les enjeux techniques (et quelques aspects théoriques) du drag&drop
    • Savoir identifier et rendre un élément "draggable"
    • Savoir identifier et rendre une zone "droppable"
    • Savoir relier le drag&drop à la logique d'une application
  • Réfléchir aux avantages/désavantages en termes pédagogiques d'une interaction drag&drop par rapport à d'autres interactions possibles

Prérequis

Lectures conseillées :

  • JQuery : se familiariser avec la syntaxe de base --> $("..")

Activité en salle de classe

JQuery

JQuery UI

Une version raccourcie de cet exemple simple est ci-dessous:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery Ui Exemple  : application drag and drop sans code supplémentaire</title>
<link rel="stylesheet" type="text/css" href="jquery-ui.min.css">
<style>
.item {
	float: left;
	width: 150px;
	border: 1px solid #999;
	background-color: #F9F6D0;
	padding: 10px 15px;
	font-weight: bold;
	font-size: 16px;
	margin-right: 20px;
	margin-bottom: 50px;
}

.clear {
	clear: both;
	overflow: hidden;
}

.container {
	float: left;
	width: 200px;
	height: 250px;
	border: 1px solid #999;
	background-color: #DEF8FC;
	padding: 10px 15px;
	margin-right: 20px;
}
</style>
</head>

<body>

<h1>jQuery UI - application drag and drop sans code supplémentaire</h1>
<p>Ce petit jeu concernant la géographie est développé exclusivement à l'aide des méthodes, 
options et événements disponibles avec jQuery UI, c'est-à-dire qu'il n'a pas fallu écrire 
du code JavaScript spécifique. </p>
<p><strong>Trainer les pays dans le continent correspondant.</strong></p>
<p><div class="item amerique">Bolivie</div>
<div class="item afrique">Côte d Ivoire</div>
<div class="item europe">Grèce</div>
<div class="item asie">Thailande</div>
<div class="item amerique">Canada</div>
<div class="item asie">Inde</div>
<div class="item oceanie">Nouvelle Zelande</div>
<div class="item afrique">Tanzanie</div>
<div class="item europe">Moldavie</div>
<div class="item oceanie">Australie</div>
</p>
<div class="clear"></div>
<div class="container afrique-container"><h2>Afrique</h2></div>
<div class="container amerique-container"><h2>Amérique</h2></div>
<div class="container asie-container"><h2>Asie</h2></div>
<div class="container europe-container"><h2>Europe</h2></div>
<div class="container oceanie-container"><h2>Oceanie</h2></div>
<div class="clear"></div>
<hr>
<p><a href="http://tecfaetu.unige.ch/perso/maltt/fritz0/">MAF</a> (23.08.2014)</p>

<script src="external/jquery/jquery.js"></script> 
<script src="jquery-ui.min.js"></script>
<script>
$(".item").draggable({
	revert: "invalid",
	cursor: "move"
});

$(".afrique-container").droppable({
	accept: ".afrique"
});
$(".amerique-container").droppable({
	accept: ".amerique"
});
$(".asie-container").droppable({
	accept: ".asie"
});
$(".europe-container").droppable({
	accept: ".europe"
});
$(".oceanie-container").droppable({
	accept: ".oceanie"
});
  </script>
</body>
</html>

Projet 5

Tâche

Deadline: Minuit, dimanche 31 janvier 2016

(1) Faites une application JavaScript/JQuery qui implémente une application pédagogique "drag and drop" que vous avez conçue vous-même.

  • Vous pouvez (mais ne devez pas) reprendre le code des exemples discuté en cours. Il faut veiller à bien introduire l'utilisateur à la tâche. Cela peut se faire avec une page d'entrée qui explique le contexte et donne éventuellement une petite aide (mais cette dernière peut aussi se placer dans la page pour le "jeu"). Note: Il est possible d'utiliser une seule page HTML (à condition que ses éléments changent, plus difficile à implémenter).

Le sujet de l'application doit être en rapport avec une thématique "MALTT"

(2a) Documentez brièvement votre code HTML/JavaScript en insérant les informations suivantes en haut du code JavScript ou HTML (c-a-d à un endroit stratégique approprié que tout le monde peut repérer)

  • Auteur
  • Date
  • Objectifs et utilisation (soyez très courts)
  • Crédits (si nécessaire, par exemple pour images et clip art réutilisé)

(2b) Documentez également les passages difficiles du code JavaScript

(3) Participez au wiki selon les instructions données dans le programme du cours.

(4) Faites un rapport (voir aussi ci-dessous)

Ressources externes

  • Vous pouvez utiliser du "artwork" externe (mais pas plus que 66 %)
  • Vous pouvez utiliser et/ou adapter du code JavaScript/JQuery fabriqué par d'autres, mais vous devez le citer et vérifier les droits.
  • Vous devez citer les sources !

A rendre

Le dispositif (code source et swf) est à mettre en ligne avec un petit rapport qui se trouvera ici:

/etu-maltt/______/____/stic-1/ex5

Cette page de rapport doit inclure:

  • Auteur et date
  • Objectifs, ce que le dispositif est censé faire.
  • Design du dispositif
  • Pas de longue explication de la production, mais un petit (!) résumé des étapes.
  • Difficultés
  • Auto-évaluation
  • Références
  • Un lien vers le dispositif
  • Un lien vers vos contributions wiki ou alternativement un résumé en une phrase plus un lien vers votre home page wiki. Il faut que l'on sache ce qu'il faut compter pour chaque exercice sans jouer aux détectives.

N'oubliez pas la contribution wiki obligatoire

Evaluation

Voir la grille dans Moodle (pareille pour tous les projets)

Documentation et aide

Documentation

Pour apprendre un peu de JavaScript, lisez:

Pour JQuery, lisez:

Pour les démos

Sinon, il existe littéralement des centaines de sites qui vous permettent d'apprendre du JavaScript.

  • MDN est réputé être un bon site pour les gens ayant déjà qqs. notions de base en informatique. La versions anglaise est mieux développée.
  • W3Schools ou CodeAcademy peuvent être conseillés aux débutant(e)s
  • Voir Liens JavaScript pour plus ...

Aide

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.