README.md 5.68 KB
Newer Older
Olivier Lezoray's avatar
Olivier Lezoray committed
1
## Description
Olivier Lezoray's avatar
Olivier Lezoray committed
2
Outil pour afficher des emploi du temps créés avec ADE
Olivier Lezoray's avatar
Olivier Lezoray committed
3
4

## Principe
Olivier Lezoray's avatar
Olivier Lezoray committed
5
6
7
8
9
10
11
12
13
14
15
16
Dans l'enseignement supérieur, le logiciel ADE est souvent utilisé pour créer les emploi du temps.
Il possède une fonctionnalité interessante qui consiste à pouvoir visualiser ses créneaux de cours dans son
logiciel favori de calendrier. Pour cela, il faut effectuer un export au format ical. L'URL générée est alors au format suivant :
http://ade.unicaen.fr/jsp/custom/modules/plannings/anonymous_cal.jsp?resources=2480&projectId=1&calType=ical

Dans cette URL apparait un numéro de ressource (resources=2480 dans l'exemple) et plusieurs ressources peuvent être précisées en précisant leurs numéros séparés par des virgules. Pour connaitre le numéro d'une ressource il faut le localiser dans l'URL générée par l'export d'ADE.

En exploitant cette URL il est donc possible de récupérer automatiquement l'emploi du temps d'une ressource et de l'afficher dans un document HTML. C'est ce que propose l'outil proposé. 

Pour cela, un web service nommé "EDTReader.php" est proposé. Il prend deux paramètres passés en GET :
1. le numéro de la ressource pour laquelle on veut l'emploi du temps
2. le format retenu pour l'emploi du temps (parmi "week", "day" ou "hour")
Olivier Lezoray's avatar
Olivier Lezoray committed
17
```php
Olivier Lezoray's avatar
Olivier Lezoray committed
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
header('Content-type: text/json');
require_once("iCalReader.class.php");


require_once("AdeEdtReader.class.php");
$myAdeEdtReader = new AdeEdtReader();

//or with the whole set of arguments for settings outside of the university of Caen
/*
$myAdeEdtReader = new AdeEdtReader(
        array(
            "proxy"=>"tcp://proxy.unicaen.fr:3128",
            "ade_url"=>"http://ade.unicaen.fr:80/jsp/custom/modules/plannings/anonymous_cal.jsp",
            "projectId"=>1,
            "examCodes"=>array("CTRL","Examen","Ctrl","CTP")
        )
);
*/

$result=$myAdeEdtReader->retrieveEDT($_GET["ressource"], $_GET["format"]);
echo json_encode($result);
?>
Olivier Lezoray's avatar
Olivier Lezoray committed
41
```
Olivier Lezoray's avatar
Olivier Lezoray committed
42
Le web service repose sur l'utilisation d'une classe PHP "AdeEdtReader" qui effectue une interrogation du webservice ADE. Ce web service renvoie en réponse du JSON qui contient l'emploi du temps de la ressource pour la semaine entière à venir (week), la journée en cours (day), ou l'heure en cours (hour). Le JSON peut ensuite être récupéré en Javascript coté client et l'emploi du temps affiché dans un document HTML. La figure suivante résume le fonctionnement général d'exploitation du webservice.
Olivier Lezoray's avatar
Olivier Lezoray committed
43

Olivier Lezoray's avatar
Olivier Lezoray committed
44
### Principe de récupération puis affichage de l'EDT d'une ressource ADE
Olivier Lezoray's avatar
Olivier Lezoray committed
45
![Demo une ressource](https://git.unicaen.fr/olivier.lezoray/edt/raw/master/img/demos/SchemaRecapitulatif.png)
Olivier Lezoray's avatar
Olivier Lezoray committed
46

Olivier Lezoray's avatar
Olivier Lezoray committed
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
### Utilisation de l'outil
Pour pouvoir utiliser le webservice "EDTReader.php", il faut connaître l'URL d'interrogation du webservice d'ADE. Celle-ci peut être récupérée dans l'interface d'export d'ADE.
L'affichage de l'emploi du temps peut alors ensuite se faire de plusieurs manières : 
- statique : l'emploi du temps d'une ressource spécifique est affiché
- interactif : l'emploi du temps d'une ressource est affiché après en avoir choisi une parmi plusieurs
- dynamique : l'emploi du temps de plusieurs ressources est affiché en passant automatiquement toutes les X secondes  d'une ressource à l'autre.

Ces affichages sont d'un fort intérêt pour disposer d'outils de consultation des emploi du temps, comme par exemple celui-ci :
https://www.stlo.unicaen.fr/edt/
mais également pour disposer d'outils d'affichage dynamique des emploi du temps (dans des écrans tactiles ou des écrans d'affichage). Plusieurs exemples d'utilisation sont présentés ci-dessous pour le Département MMI de l'IUT à Saint-Lô. 

Afin de permettre une utilisation simple de l'outil, des fonctions JavaScript sont founies dans le fichier "weekSchedule.js". Elle permettent d'afficher d'un emploi du temps récupéré au format JSON par le web service "EDTReader.php" sous la forme d'une grille d'emploi du temps. Le script JavaScript ci-dessous illustre cela pour afficher l'emploi d'une ressource dans une div.
```html
    <script type="text/javascript"> 		  	
	  	//sets global vars
		//the sole ADE ressource to be diplayed
		var ADERessource=2480;
		//the URL of the EDT Reader webservice
		var _webservice="https://dev-lezoray.users.greyc.fr/edt/php/EDTReader.php";
		//the format of EDT display
		var _format="week";
	  	/**
			* Initializes the whole display of the schedule
			* 
			* @returns {none}
		*/
		$(document).ready(function(){
				displayDate("_date");
				showEDT(ADERessource,"edt");
			}
		);	

	</script>
	
	<div id="edt">
	 	<!-- The div that will display the schedule -->
	</div>
``` 

Olivier Lezoray's avatar
Olivier Lezoray committed
86
## Exemples d'utilisation pour le Département MMI de l'IUT à Saint-Lô
Olivier Lezoray's avatar
Olivier Lezoray committed
87
### Affichage de l'EDT à la semaine d'une ressource spécifique
Olivier Lezoray's avatar
Olivier Lezoray committed
88
![Demo une ressource](https://git.unicaen.fr/olivier.lezoray/edt/raw/master/img/demos/displayEDTOfOneRessource.png)
Olivier Lezoray's avatar
Olivier Lezoray committed
89
### Affichage de l'EDT à la semaine avec choix de la ressource parmi plusieurs
Olivier Lezoray's avatar
Olivier Lezoray committed
90
![Demo une ressource](https://git.unicaen.fr/olivier.lezoray/edt/raw/master/img/demos/displayEDTWithChoiceOfRessource.gif)
Olivier Lezoray's avatar
Olivier Lezoray committed
91
### Affichage de l'EDT à la semaine de plusieurs ressources avec switch automatique entre elles
Olivier Lezoray's avatar
Olivier Lezoray committed
92
![Demo une ressource](https://git.unicaen.fr/olivier.lezoray/edt/raw/master/img/demos/displayEDTWithAutomaticSwitch.gif)
Olivier Lezoray's avatar
Olivier Lezoray committed
93
### Affichage de l'EDT à la journée de deux ressources simultanément avec switch automatique entre plusieurs ressources
Olivier Lezoray's avatar
Olivier Lezoray committed
94
![Demo une ressource](https://git.unicaen.fr/olivier.lezoray/edt/raw/master/img/demos/displayEDTWithTwoAutomaticSwitchByDay.gif)
Olivier Lezoray's avatar
Olivier Lezoray committed
95
### Affichage de l'EDT des créneaux horaires encours pour plusieurs ressources, avec défilement automatique
Olivier Lezoray's avatar
Olivier Lezoray committed
96
![Demo une ressource](https://git.unicaen.fr/olivier.lezoray/edt/raw/master/img/demos/displayEDTsOfCurrentHour.gif)
Olivier Lezoray's avatar
Olivier Lezoray committed
97

Olivier Lezoray's avatar
Olivier Lezoray committed
98