Processing math: 100%

420KEF TP02 (consignes)

Ce travail pratique consistera au raffinement du petit éditeur Web pour du code JavaScript dont nous avons poursuivi le développement au TP01.

Contraintes humaines et échéances

Organisation humaine

Équipes de deux personnes

Format de la remise

Imprimé. Je voudrai lire à la fois votre code HTML, votre code CSS et votre code JavaScript

Date de remise

Au plus tard au début du cours du vendredi 2 mai 2014 (donc de T12)

Notez que bien que vous ayez du temps pour livrer ce travail, nous entreprendrons le travail intégrateur en cours de route, alors vous aurez rapidement deux travaux pratiques à réaliser concurremment. Je vous invite donc à ne pas trop lésiner, ou encore à passer d'un travail à l'autre quand vous aurez envie de changement.

L'idée

Je ne répèterai pas les consignes du TP01, qui tiennent encore pour ce travail-ci. Je vous propose en fait un « travail dont vous êtes le bourreau », au sens où vous choisirez, parmi un ensemble de caractéristiques proposées ci-dessous, les ajouts et ajustements que vous apporterez à votre éditeur pour en faire un outil plus convivial.

Certaines des « options » sont en fait des obligations, et sont indiquées comme telles. Les autres sont des véritables options, que vous pouvez implémenter si vous le souhaitez.

Dans la plupart des cas, vous devrez explorer un peu pour faire au moins une partie du travail.

Bloc d'options « présentation »

Les options suivantes vous sont proposées :

De manière obligatoire, vous devez :

Il est entendu que le volet présentation de votre programme sera pris en charge par du CSS. Les modifications

À propos des sélections :

Entendu ici que la sélection faite avec les touches du clavier et la sélection faite avec la souris constitue une seule et même chose. Entendu aussi que le curseur, même s'il est dans la zone sélectionnée, ne fait pas partie de la sélection.

Bloc d'options « clavier »

Ajouter le support des touches suivantes :

Si vous souhaitez implémenter d'autres touches et d'autres fonctionnalités, contactez-moi et on verra.

Bloc d'options « souris »

Permettre la sélection d'une zone de texte avec la souris pour qu'il soit possible de :

Si vous souhaitez implémenter d'autres fonctionnalités, contactez-moi et on verra.

Bloc d'options « assistance »

Offrir une manière (menu, bouton, combinaison de touches, etc.) pour :

Si vous souhaitez implémenter d'autres fonctionnalités, contactez-moi et on verra.

Bloc d'options « intégration »

De manière obligatoire, vous devez offrir une façon (menu, bouton, combinaison de touches, etc.) :

Un exemple fonctionnel pour la minification est disponible ici. Pour l'autre service, je vous laisse explorer. Notez que ce ne sont pas tous les outils pour JavaScript qui offrent des API sur le Web, alors prenez un peu de temps pour chercher quelque chose d'intéressant et de faisable.

En manque d'inspiration?

Si vous manquez d'inspiration, voici quelques idées (je ne les ai pas toutes essayées, évidemment, et il est probable que certaines n'offrent pas d'API, mais tout de même).

Analyser votre code JavaScript pour en extraire la structure? http://esprima.org/demo/parse.html

Rendre votre code JavaScript plus joli? http://www.jspretty.com/

Obfusquer votre code JavaScript? http://www.jsobfuscate.com/

Autres outils de minification :

Convertir de JavaScript à CoffeeScript? http://js2coffee.org/

Publier des extraits sur Twitter ou sur Facebook? Demander de l'aide à vos amis? Quelques pistes possibles sur http://www.webdesignerdepot.com/2011/07/40-useful-apis-for-web-designers-and-developers/

Envoyer le code sur Dropbox automatiquement? Dropbox offre une API de dévreloppement sur : https://www.dropbox.com/developers/core/docs

Votre code est si bon que vous souhaitez permettre aux gens de payer pour l'utiliser? https://developer.paypal.com/docs/api/

Vous voulez diffuser votre oeuvre à tous vos amis? http://documentation.mailgun.com/api-mailinglists.html

Vous souhaitez montrer où votre programmeur (et ses amis?) codent? https://developers.google.com/maps/

Vous avez des idées plus ésotériques? Il existe des API de diverses natures (bases de données, commerce, sécurité, etc.) sur le Web, et des annuaires tels que http://www.programmableweb.com/apis/directory pour explorer

Évaluation

Pour l'évaluation, 50% des points ira à la qualité du code, et un autre 50% ira aux options implémentées. Il est attendu de chaque personne qu'elle implémente (et indique, en commentaire, qu'elle en est l'auteur) au moins cinq options. Chaque option aura une valeur (il me reste à les indiquer), plus petite pour les plus simples et plus grande pour les plus costaudes. Les « options » obligatoires auront aussi un poids.

Vous serez responsables d'indiquer clairement, lors de la remise, les options qui auront été implémentées, et qui les aura implémentées.

La note pour les options sera plafonnée à 50, même si vous implémentez plus d'options que nécessaire.

Pour tenir compte des groupes de trois personnes, la règle suivante sera appliquée : chacun des trois équipiers sera considéré comme ayant contribué un tiers du travail, et la note pour les options sera calculée comme suit : 2×p0+p1+p23p0,p1,p2 sont les trois équipiers.


Valid XHTML 1.0 Transitional

CSS Valide !