Le 8 décembre 2010

Interface finale

Dans le précédent rapport nous avons vu que les interfaces présentées ne convenaient pas totalement à l'utilisateur et n'étaient pas toutes très claires.

Il en est ressorti qu'une interface présentant la température avec des icônes pour la couverture nuageuse était la plus conviviale; mais disposant d'un plus grand nombre d'informations nous devions trouver un moyen d'afficher ces dernières.
Les testeurs ont proposé l'idée d'info-bulles qui s'avère très efficace, c'est pourquoi nous nous sommes tournés vers cette solution. Concernant la plage de données à afficher, nous avons implanté un graphique annexe gérant le zoom sur le principal.

Une petite modification à été effectuée afin de ne pas trop la surcharger; en effet, nous n'affichons la petite icône représentant la couverture nuageuse seulement lorsque celle ci est différente du jour précédent. Ainsi on met en avant le changement d'état de cette dernière tout en laissant le graphique aéré (l'information n'est pas perdue car elle se trouve aussi dans l'info-bulle).

Concernant l'implantation d'une telle interface, nous avons dû modifier deux plugins de jqPlot afin d'afficher une seule fois l'intitulé du jour et d'afficher les informations dans les info-bulles.

En effet, pour supprimer l'intitulé du jour lorsqu'il à déjà été noté, nous avons modifié le plugin "jqplot.dateAxisRenderer.js" en lui rajoutant une variable contenant le jour qui à été noté précédemment et une fonction qui supprime le jour dans une chaine de caractère donnée si celui ci est le même que celui mémorisé ci avant.



De même, pour afficher les informations des info-bulles, nous avons modifié le plugin "jqPlot.highlighter.js" afin qu'il génère une chaine de caractères contenant le code HTML qui sera injecté dans l'info-bulle.

Nota : Nous aurions pu avoir quelque chose de similaire en utilisant la configuration du plugin, mais il se trouve que celle ci est très limitée et nous permet simplement de donner une chaine de caractères formatant le contenu de l'info-bulle (comme printf en C) et non de faire des tests conditionnels sur les valeurs des variables (et ainsi ne pas afficher les données non définies ou pouvoir afficher une certaine icone en fonction des informations données).