Un coup d’AJAX sur MyAgenda

par Paulo Monteiro, conception et développement, Ci-UNIL

Vous l’avez demandée, la voilà. Une nouvelle interface pour MyAgenda « à la Google », alliant ergonomie et respect des standards, est maintenant disponible sur le portail MyUNIL.

09_myagenda
© Alen-D – Fotolia.com

Voici maintenant plus de trois ans que MyAgenda est utilisé par la communauté universitaire. Les statistiques d’utilisation sont en constante augmentation depuis sa mise en production. Nous sommes passés d’environ 20’000 événements lors de la mise en production à plus de 400’000 aujourd’hui.

Mais malgré l’utilité avérée de ce service, l’un des principaux reproches des utilisateurs concernait son interface graphique dans le portail MyUNIL. Bien que fonctionnelle, cette interface était loin de tenir la comparaison face à des outils tels que Google Agenda. Cette remarque était tout à fait légitime de la part des utilisateurs, mais malheureusement les technologies disponibles à l’époque ne nous permettaient pas de satisfaire cette demande.

Heureusement en informatique les technologies évoluent très vite, ce qui nous a permis de lancer ce projet de modernisation de l’interface et d’offrir à la communauté universitaire une présentation moderne, répondant aux standards actuels.

La nouvelle interface

Avant de commencer le processus de développement, une étude de marché a été réalisée afin de trouver les technologies permettant d’atteindre rapidement l’objectif. Il fallait trouver un outil de développement performant et moderne répondant aux besoins des utilisateurs aujourd’hui et demain. Il s’agissait d’une étude particulièrement importante car les outils choisis pour ce projet seront la base des futurs développements du Ci (ils seront par exemple utilisés dans le cadre du renouvellement du portail MyUNIL).

Ces nouveaux outils ont permis de développer une interface AJAX, permettant de disposer de nouvelles fonctionnalités tels que le glisser/déposer, le clic-droit, les infos-bulles, l’utilisation de raccourcis claviers, ce qui rend l’interface plus ergonomique et facile à utiliser.

09_myagenda_vue
La nouvelle interface web : clarté et drag & drop sont au rendez-vous (vue hebdomadaire)

Mon planning

L’application Mon Planning est une des nouveautés apportées par la nouvelle interface de MyAgenda. Cette application est disponible depuis la page Mon Bureau de MyUNIL. Le but de cette nouvelle fonctionnalité est d’afficher un résumé du planning de la semaine de l’utilisateur, en affichant les événements et les tâches de la semaine.

L’application affiche l’ensemble de événements et des tâches de tous les calendriers inclus dans la vue par défaut de MyAgenda. Les utilisateurs ont donc un aperçu de leur emploi du temps sans devoir aller sur la page Agenda.

09_myagenda_monplanning2
Vue mon planning : le planning de la semaine est visible en un coup d’œil sur le bureau de MyUNIL

Nouvelles fonctionnalités

Gestion des préférences
La gestion des préférences permet à l’utilisateur de paramétrer MyAgenda en choisissant le calendrier par défaut, la vue par défaut et le mode d’affichage.

Gestion des tâches
La gestion des tâches n’était pas disponible dans l’interface précédente. Bien que la possibilité de saisir des tâches était présente dans certains logiciels, cette fonctionnalité n’était pas disponible depuis l’interface. Ce manque est maintenant corrigé et la gestion des tâches est maintenant possible depuis le portail MyUNIL.

Horaires des examens pour les étudiants
Les horaires des cours sont disponibles dans MyAgenda pour les étudiants depuis fin 2010. Cette fonctionnalité est particulièrement utilisée par des étudiants ayant un horaire très chargé et variable d’une semaine à l’autre. Les personnes qui ont synchronisé leur horaire de cours avec MyAgenda ont maintenant aussi accès à leur horaire des examens (pour l’instant disponible pour les étudiants des facultés FTSR, Lettres, SSP, FGSE). Ce nouveau calendrier a le nom suivant:
username_horaire_examens (disponible depuis la vue Mes cours).

Recherche des disponibilités
Le terme disponibilité est un concept assez difficile à expliquer. Les utilisateurs se demandent souvent pourquoi ils ne peuvent pas afficher les disponibilités sous forme de calendrier, dans leur iCal par exemple. En réalité la disponibilité d’une personne est calculée sur la somme des plages occupées définies dans plusieurs calendriers. Une personne utilise souvent plusieurs calendriers pour gérer son emploi du temps, la fonction de recherche de disponibilités va donc calculer une somme des plages occupées dans ses calendriers.

09_myagenda_invit
Recherche de disponibilités : après avoir saisi la liste des personnes qui doivent participer à la réunion, il reste à choisir la plage commune disponible et à envoyer l’invitation

Un peu de technologie

Depuis quelques années un nouveau concept est apparu dans le monde du développement web : AJAX (Asynchronous Javascript And XML). Ce terme désigne un nouveau type de conception de pages Web permettant l’actualisation de certaines données d’une page sans procéder au rechargement total de cette page. Le but recherché est la diminution des temps de latence en augmentant la réactivité de l’application Web. Les applications Web qui possèdent ces qualités sont appelées Rich Internet Applications (RIA). Parmi les applications utilisant AJAX on peut citer Gmail, le nouvel Outlook web.

Le produit utilisé pour le développement de MyAgenda est le framework ZK, soit est un ensemble de composants graphiques AJAX écrit en JAVA spécialement conçus pour aider les programmeurs dans leurs tâches de développement. ZK est un outil de dernière génération spécialement conçu pour réaliser des applications riches AJAX, multiplateformes et permettant d’offrir des caractéristiques similaires aux logiciels traditionnels installés sur les ordinateurs. Il améliore grandement la productivité et baisse par conséquent le temps et les coûts du processus de développement. Les grandes forces de cet outil sont une prise en main très rapide, la légèreté et la propreté du code. Ce dernier point permettra de raccourcir de manière significative le temps consacré à la maintenance.

L’autre grand avantage de cet outil est l’intégration du Responsive Web Design. Ce point est très important car aujourd’hui l’accès mobile (smartphones et tablettes) aux applications est en constante augmentation. Le respect de ce paradigme par cet outil nous permettra de créer une seule application pour toutes les plateformes, qui s’affichera donc automatiquement de façon optimale quelle que soit la taille de l’écran.

Pour terminer, ZK est distribué sous licence open source, ce qui nous permet de partager nos développements avec d’autres institutions. Dans la pratique c’est déjà le cas aujourd’hui, puisque la nouvelle interface est aussi utilisée dans le portail de l’EPFL. Nous avons ainsi pu partager nos expériences et certains développements avec nos collègues de l’EPFL.

Pour conclure

La refonte d’une application de ce type est toujours un processus délicat, car au final seul l’avis de l’utilisateur compte. Le nouveau MyAgenda a été construit en se reposant sur des briques open source soutenues par d’importantes communautés. Sa force réside dans des fonctionnalités à forte valeur ajoutée inaccessibles à des produits faits pour le monde du business, comme par exemple : les horaires des cours, les agendas de groupe ou l’assurance de pouvoir compter sur des données stockées à l’UNIL et non dans un cloud où les informations pourraient être exploitées commercialement. Un outil de facto plus taillé pour les étudiants et les chercheurs que pour les administratifs.