« STIC:STIC I - exercice 6 (Xerneas) » : différence entre les versions
(Page créée avec « {{stic12}} {{En construction}} <categorytree mode="pages" depth="0" style="float:right; clear:right; margin-left:3px; border:1px solid gray; padding:0.7ex; background-colo... ») |
Aucun résumé des modifications |
||
Ligne 5 : | Ligne 5 : | ||
== Introduction == | == Introduction == | ||
Cet exercice introduit le concept | Cet exercice introduit le concept de code ré-utilisable dans le développement web en s'appuyant sur du ''third-party code'', c'est-à-dire des éléments (bibliothèques, frameworks, plugins) qui sont conçus pour aider le développeur à obtenir plus facilement, et plus vite, le résultat souhaité. | ||
=== Connaissances/compétences envisagées === | === Connaissances/compétences envisagées === | ||
Ligne 11 : | Ligne 11 : | ||
À l'issue de cet exercice vous devez avoir acquis les connaissances/compétences suivantes : | À l'issue de cet exercice vous devez avoir acquis les connaissances/compétences suivantes : | ||
* Savoir | * Comprendre l'utilité et l'intentionnalité du ''third-party code'', mais également les limites | ||
* | * Savoir incorporer et utiliser du code ré-utilisable à travers des feuilles de styles CSS ou des bibliothèques JavaScript externes | ||
** | * Identifier les critères pour juger de la qualité/maintenabilité/fiabilité d'éléments externes | ||
* | ** Présence/qualité de la documentation | ||
* | ** [[Versionnage sémantique]] et compatibilité entre versions | ||
** Licence/Droits d'utilisation | |||
* Savoir distinguer entre un framework, une bibliothèque et un plugin (et savoir aussi que les différences ne sont souvent pas très nettes) | |||
* Comprendre le concept de ''dependency'', par exemple lorsqu'un plugin nécessité la présence d'une bibliothèque | |||
* Ajouter des petites animations à une page web | |||
=== Prérequis === | === Prérequis === | ||
Prérequis techniques : | Prérequis techniques : | ||
Ligne 33 : | Ligne 32 : | ||
=== Programme === | === Programme === | ||
* 09:00 - 10:00 Présentation + Activité de recherche/évaluation d'une bibliothèque JavaScript | |||
* 10:00 - 10:30 Démo incorporation de ''third-party code'' dans un projet | |||
* -- Pause -- | |||
* 11:00 - 12:30 Démo/Workshop avec différentes exemples de code réutilisable (CSS + JavaScript) | |||
/ | |||
* | |||
* | |||
=== Présentation + Activité de recherche/évaluation d'une bibliothèque JavaScript === | |||
Présentation du contenu : | |||
* {{Goblock|Mettre le lien!}} | |||
} | |||
==== Activité ==== | |||
// | # Pointer sur le site {{Goblock|[https://www.javascripting.com/ JavaScripting.com]}} | ||
# Choisir une thématique/technique du menu à gauche qui pourrait vous intéresser ou qui aurait pu vous servir pour les exercices 3 et 4 (e.g. Animation, Images, User Interface, ...) | |||
# Choisir un élément de la liste qui vous inspire (évitez de choisir quelque chose que vous connaissez déjà !) | |||
# Une fois l'élément choisi, essayer de répondre aux critères suivants (vous pouvez noter vos réponses dans un fichier de texte, pas besoin de partager après) : | |||
#* Nom et développeur de l'élément, ainsi que l'URL | |||
#* Quel est (ou quels sont) les objectifs ? Qu'est-ce que cela permet de faire ? | |||
#** Vous qualifieriez cela comme une bibliothèque, un framework ou un plugin ? | |||
#* Quelle est la licence associée ? Qu'est-ce que cela vous permet de faire/pas faire ? | |||
#* Évaluer la qualité de la documentation et du support. | |||
#** Sous quelle forme se présente la documentation ? Site, Wiki, page GitHub, ... | |||
#** Est-ce qu'il y a un support technique ? Forum, groupe Slack, communauté StackOverflow, ... | |||
#* Identifier les ''dependencies'' | |||
#** Combien de fichier sont nécessaire ? Quel types de fichiers ? Seulement JS ou aussi CSS, SVG, Fonts, ... | |||
#** L'élément dépend-t-il d'une autre bibliothèque/framework/... | |||
#* Identifier la version actuelle (voir [[Versionnage sémantique]]) et évaluez si : | |||
#** Elle a été mise à jour de récent ? | |||
#** Est-ce qu'il y a eu des mises à jours régulières ? | |||
== Projet 6 / Tâche == | == Projet 6 / Tâche == |
Version du 2 décembre 2017 à 13:58
Cet article est en construction: un auteur est en train de le modifier.
En principe, le ou les auteurs en question devraient bientôt présenter une meilleure version.
Introduction
Cet exercice introduit le concept de code ré-utilisable dans le développement web en s'appuyant sur du third-party code, c'est-à-dire des éléments (bibliothèques, frameworks, plugins) qui sont conçus pour aider le développeur à obtenir plus facilement, et plus vite, le résultat souhaité.
Connaissances/compétences envisagées
À l'issue de cet exercice vous devez avoir acquis les connaissances/compétences suivantes :
- Comprendre l'utilité et l'intentionnalité du third-party code, mais également les limites
- Savoir incorporer et utiliser du code ré-utilisable à travers des feuilles de styles CSS ou des bibliothèques JavaScript externes
- Identifier les critères pour juger de la qualité/maintenabilité/fiabilité d'éléments externes
- Présence/qualité de la documentation
- Versionnage sémantique et compatibilité entre versions
- Licence/Droits d'utilisation
- Savoir distinguer entre un framework, une bibliothèque et un plugin (et savoir aussi que les différences ne sont souvent pas très nettes)
- Comprendre le concept de dependency, par exemple lorsqu'un plugin nécessité la présence d'une bibliothèque
- Ajouter des petites animations à une page web
Prérequis
Prérequis techniques :
- Connaissances de base de HTML/CSS/JavaScript
- Savoir incorporer des fichiers externes JS/CSS en respectant les chemins !
Activité en salle de classe
Programme
- 09:00 - 10:00 Présentation + Activité de recherche/évaluation d'une bibliothèque JavaScript
- 10:00 - 10:30 Démo incorporation de third-party code dans un projet
- -- Pause --
- 11:00 - 12:30 Démo/Workshop avec différentes exemples de code réutilisable (CSS + JavaScript)
Présentation + Activité de recherche/évaluation d'une bibliothèque JavaScript
Présentation du contenu :
- Mettre le lien!
Activité
- Pointer sur le site
- Choisir une thématique/technique du menu à gauche qui pourrait vous intéresser ou qui aurait pu vous servir pour les exercices 3 et 4 (e.g. Animation, Images, User Interface, ...)
- Choisir un élément de la liste qui vous inspire (évitez de choisir quelque chose que vous connaissez déjà !)
- Une fois l'élément choisi, essayer de répondre aux critères suivants (vous pouvez noter vos réponses dans un fichier de texte, pas besoin de partager après) :
- Nom et développeur de l'élément, ainsi que l'URL
- Quel est (ou quels sont) les objectifs ? Qu'est-ce que cela permet de faire ?
- Vous qualifieriez cela comme une bibliothèque, un framework ou un plugin ?
- Quelle est la licence associée ? Qu'est-ce que cela vous permet de faire/pas faire ?
- Évaluer la qualité de la documentation et du support.
- Sous quelle forme se présente la documentation ? Site, Wiki, page GitHub, ...
- Est-ce qu'il y a un support technique ? Forum, groupe Slack, communauté StackOverflow, ...
- Identifier les dependencies
- Combien de fichier sont nécessaire ? Quel types de fichiers ? Seulement JS ou aussi CSS, SVG, Fonts, ...
- L'élément dépend-t-il d'une autre bibliothèque/framework/...
- Identifier la version actuelle (voir Versionnage sémantique) et évaluez si :
- Elle a été mise à jour de récent ?
- Est-ce qu'il y a eu des mises à jours régulières ?
Projet 6 / Tâche
Dispositif
Faites une page HTML5/CSS qui propose :
- au moins une animation de type UI, par exemple pour faciliter l'interactivité/ergonomie de votre dispositif
- au moins une (simple) animation à finalité pédagogique, par exemple montrer un phénomène ou une suite d'événements, qui est déclenchée par l'utilisateur
- l'animation pédagogique doit servir à un objectif déclaré dans votre rapport (pas juste votre objectif d'apprentissage)
Contraintes
- Le sujet de la page doit être en rapport avec une thématique "MALTT"
- Pour l'animation UI vous pouvez choisir entre une animation/transition CSS, du "vanilla" JavaScript ou un bibliothèque (e.g. VelocityJS)
- L'animation UI peut être tout simplement un effet sur un bouton, un slideshow d'image, un effet graphique, etc. - il ne faut pas chercher trop loin
- Pour l'animation pédagogique utilisez une des bibliothèques JavaScript de type animation ou dessin proposées dans la liste
- L'animation pédagogique doit pouvoir être déclenchée par l'utilisateur (e.g. en cliquant sur un bouton)
- Vous pouvez, mais ne devez pas, prévoir des contrôles supplémentaires (e.g. reset, passages à un état spécifique, etc.)
- Vous pouvez utiliser du "artwork" externe (mais pas plus que 66%)
- Vous pouvez utiliser et/ou adapter du code fabriqué par d'autres (e.g. exemples dans la documentation des bibliothèques), mais vous devez le citer et vérifier les droits.
- Vous devez citer les sources !
Critères d'évaluation
- Malus
- Mauvais liens (fichier JavaScript, CSS)
- Manque de l'effet animé pour l'animation UI (e.g. passé d'une couleur à une autre sans états intermédiaires)
- Animation pédagogique non-interactive (e.g. se déclenche toute seule au téléchargement de la page)
- Agencement de la page approximatif
- Bonus
- Animation(s) UI intéressante(s) et instrumentale(s) au dispositif
- Animation pédagogique interactive (e.g. différents états, reset, cliquer sur un élément animé ouvre du texte, etc.)
- Cohésion texte/animation (i.e. agencement de la page)
- Code bien organisé et élégant
- Design graphique soigné
Rapport
Faites un rapport selon les guidelines habituelles :
En particulier pour cet exercice, essayez d'expliquer :
- En quoi l'animation soutient-elle l'objectif d'apprentissage ?
- Dans la section "auto-évaluation" proposez une analyse de la bibliothèque que vous avez choisie (pourquoi? elle vous a aidé? difficulté? etc.)
Contribution Wiki
Contribution libre comme d'habitude :
Quelques suggestions :
- Ajouter/améliorer Review de ressources pour débuter JavaScript
- Améliorer/corriger la page Animation avec JavaScript
- Créer une page/tutoriel Animation avec CSS
- Améliorer la page Canvas (HTML5)
- Documenter une des bibliothèques JavaScript pour l'animation/dessin ou en proposer d'autres
- Améliorer la page Les différences entre l'image statique et l'animation quant à l'apprentissage (e.g. enlever titres en uppercase...)
Délai
Mercredi 1 février 2017 à 08:00
Attention :
- il faut qu'on transmette les notes au secrétariat, donc cette date n'est pas négociable et si vous ne rendez pas votre exercice dans le délai, nous allons noter avec un 0.
- si vous voulez éviter un 0, vous devez nous communiquer avant ce délai par email (M. Schneider + Mattia et Stéphane) que vous allez rendre vos exercices pour la session de rattrapage en août/septembre
Liens
Théoriques
- Les différences entre l'image statique et l'animation quant à l'apprentissage
- en:Multimedia animation
Techniques
Bibliographie
- Head, V. (2016). Designing Interface Animation. Meaningful Motion for User Experience. Brooklyn, NY: Rosenfeld Media
- McCarthy, L., Reas, C., Fry, B. (2016). Make: Getting Started with p5.js. San Francisco, CA: Maker Media
- Tversky, B., Morrison, J. B., & Betrancourt, M. (2002). Animation: can it facilitate?. International journal of human-computer studies, 57(4), 247-262.
- Bétrancourt, M. (2005). The animation and interactivity principles, in R. E. Mayer (ed.) The Cambridge Handbook of Multimedia Learning, 287-296. Cambridge: Cambridge University Press.
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.