Génie logiciel - M1 ALMA CalDav Manager : Gestionnaire d emploi du temps Auteurs : Stanislas KOBAK - Céline BARILLERE 5 décembre 2012
Table des matières 1 Introduction 2 1.1 Rappel de l énoncé du projet............................. 2 1.2 Définitions et acronymes................................ 2 2 Décisions stratégiques de conception de haut-niveau 3 2.1 Outils de développement................................ 3 2.2 Librairies de composantes à utiliser.......................... 3 3 Diagramme de déploiement 4 4 Description de la division en modules 5 5 Les différents paquetages 7 5.1 Paquetage 1 : schedulefile............................... 8 5.2 Paquetage 2 : schedule................................. 9 5.3 Paquetage 3 : gui.................................... 10 6 Conclusion 11 A Guide d utilisation 12 A.1 Importation d un fichier icalendar.......................... 12 A.2 Ouverture d un fichier CDM (format XML)..................... 13 A.3 Enregistrer un emploi du temps............................ 14 A.4 Afficher les informations d un événement....................... 15 A.5 Ajouter un événement................................. 16 A.6 Editer un événement.................................. 17 A.7 Supprimer un événement................................ 18 A.8 Exporter vers Google Calendar............................ 19 1
Chapitre 1 Introduction 1.1 Rappel de l énoncé du projet De nos jours, l utilisation de calendriers numériques est une pratique répandue. L Université de Nantes ne déroge pas à cette règle avec ces emplois du temps en ligne (edt.univ-nantes.fr). Bien que pratique, cet emploi du temps n est pas modifiable. Il est en effet actuellement impossible d ajouter des informations concernant les cours (examen? modification de cours non supportée par l équipe des emplois du temps? etc... ) CalDav Manager c est la solution à ce problème. Il est enfin possible d éditer les emplois du temps localement pour convenir aux besoins de chacun. Nous avons analysé le document contenant la spécification des exigences logicielles (SEL). Dans celle-ci, il était indiqué que nous pouvions choisir entre deux langages : le Java ou le Python. Nous avons choisi Java, car c est ce langage que nous maîtrisons le mieux. 1.2 Définitions et acronymes IDE : integrated development environment (environnement de développement intégré) Ressource : c est une notion utilisée par ResourceScheduler. Nous avons transformé cette notion par la notion de journée. Une ressource représente une journée. SEL : spécification des exigences logicielles 2
Chapitre 2 Décisions stratégiques de conception de haut-niveau 2.1 Outils de développement L IDE Eclipse a été utilisé pour son côté libre et simple d utilisation. Ce document de conception a été rédigé à l aide de LaTeX. Les classes et les méthodes sont présentées dans la javadoc disponible dans le livrable. 2.2 Librairies de composantes à utiliser ical4j : Une suite de librairies pour gérer des fichiers icalendar (extension : ics). gdata : Une librairie permettant d utiliser les services Google. ResourceScheduler : Un composant Java Swing pour la planification de ressources. Le site web 3
Chapitre 3 Diagramme de déploiement Le protocole pour accéder à Google Calendar est le protocole Google Data Protocol feeds. Il est basé sur le protocole https. 4
5
Chapitre 4 Description de la division en modules 6
7
Chapitre 5 Les différents paquetages 5.1 Paquetage 1 : schedulefile 8
Les classes CdmFile et IcsFile implémentent l interface ScheduleFile. 5.2 Paquetage 2 : schedule 9
5.3 Paquetage 3 : gui La classe MyScheduler implémente l interface AppointmentListener. Il y a un packetage à l intérieur de celui-ci. Il permet de filtrer les fichiers selon leur extension au moment du choix des fichiers. Nous y trouvons deux classes qui héritent de la classe FileFilter. 10
Chapitre 6 Conclusion Par manque de temps, nous n avons pas pu implémenter certaines fonctionnalités telles que : L utilisation d un mot de passe pour accéder un emploi du temps. L affichage mensuelle et par tâches. En effet, nous n avons que deux affichages d implémenter : par journée et par semaine. La synchronisation entre deux emplois du temps. L historique des modifications. Nous avons seulement les classes d implémentées, mais elles ne sont pas utilisées. Nous avons aussi rencontré des problèmes d affichages, qui n ont pas pu être réglés. En effet, quand nous ajoutons, modifions ou supprimons un évenement d un emploi du temps, l emploi du temps ne se rafraîchit pas automatiquement tout le temps. Il faut changer de semaine ou de jour pour voir les modifications. 11
Annexe A Guide d utilisation A.1 Importation d un fichier icalendar Pour l importation, il faut faire comme sur l image suivante : Une fois le fichier choisi, l emploi du temps s affiche. 12
A.2 Ouverture d un fichier CDM (format XML) Pour l ouverture, il faut faire comme sur l image suivante : Une fois le fichier choisi, l emploi du temps s affiche. Si le fichier n a pas le bon format, rien ne se passe. 13
A.3 Enregistrer un emploi du temps Pour enregistrer, il faut faire comme sur l image suivante : Il est recommandé d enregistrer le fichier avec l extension.cdm. 14
A.4 Afficher les informations d un événement En cliquant sur un événement, nous pouvons voir les différentes informations : 15
A.5 Ajouter un événement En cliquant sur Add appointment, une boîte de dialogue s ouvre : Ensuite, il faut renseigner les différents champs. 16
A.6 Editer un événement En double-cliquant ou en utilisant le clic droit sur un événement, une boîte de dialogue s ouvre : Ensuite, il faut renseigner les différents champs. 17
A.7 Supprimer un événement En utilisant le clic droit sur un événement, une boîte de dialogue s ouvre : 18
A.8 Exporter vers Google Calendar En cliquant sur Exporter puis sur Exporter vers Google Calendar, une boîte de dialogue s ouvre : Il suffit de rentrer ses identifiants de connexion Google. 19