README.md 5.81 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
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.

Olivier Lezoray's avatar
Olivier Lezoray committed
12
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 permet l'outil proposé. 
Olivier Lezoray's avatar
Olivier Lezoray committed
13

Olivier Lezoray's avatar
Olivier Lezoray committed
14
Pour cela, un web service nommé "EDTReader.php" est fourni. Il prend deux paramètres passés en GET :
Olivier Lezoray's avatar
Olivier Lezoray committed
15
16
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
Voici le contenu du fichier PHP de ce web service :
Olivier Lezoray's avatar
Olivier Lezoray committed
18
```php
Olivier Lezoray's avatar
Olivier Lezoray committed
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?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
42
```
Olivier Lezoray's avatar
Olivier Lezoray committed
43
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
44

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

Olivier Lezoray's avatar
Olivier Lezoray committed
48
49
50
51
52
53
### 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.
Olivier Lezoray's avatar
Olivier Lezoray committed
54
- et encore plein d'autres possibilités
Olivier Lezoray's avatar
Olivier Lezoray committed
55
56
57
58
59

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ô. 

Olivier Lezoray's avatar
Olivier Lezoray committed
60
Afin de permettre une utilisation simple de l'outil, des fonctions JavaScript sont fournies dans le fichier "weekSchedule.js". Elles 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 (utilisant du JQuery) illustre cela pour afficher l'emploi d'une ressource dans une div.
Olivier Lezoray's avatar
Olivier Lezoray committed
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
86
87
```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
88
## Exemples d'utilisation pour le Département MMI de l'IUT à Saint-Lô
Olivier Lezoray's avatar
Olivier Lezoray committed
89
### Affichage de l'EDT à la semaine d'une ressource spécifique
Olivier Lezoray's avatar
Olivier Lezoray committed
90
![Demo une ressource](https://git.unicaen.fr/olivier.lezoray/edt/raw/master/img/demos/displayEDTOfOneRessource.png)
Olivier Lezoray's avatar
Olivier Lezoray committed
91
### Affichage de l'EDT à la semaine avec choix de la ressource parmi plusieurs
Olivier Lezoray's avatar
Olivier Lezoray committed
92
![Demo une ressource](https://git.unicaen.fr/olivier.lezoray/edt/raw/master/img/demos/displayEDTWithChoiceOfRessource.gif)
Olivier Lezoray's avatar
Olivier Lezoray committed
93
### Affichage de l'EDT à la semaine de plusieurs ressources avec switch automatique entre elles
Olivier Lezoray's avatar
Olivier Lezoray committed
94
![Demo une ressource](https://git.unicaen.fr/olivier.lezoray/edt/raw/master/img/demos/displayEDTWithAutomaticSwitch.gif)
Olivier Lezoray's avatar
Olivier Lezoray committed
95
### 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
96
![Demo une ressource](https://git.unicaen.fr/olivier.lezoray/edt/raw/master/img/demos/displayEDTWithTwoAutomaticSwitchByDay.gif)
Olivier Lezoray's avatar
Olivier Lezoray committed
97
### Affichage de l'EDT des créneaux horaires se déroulant actuellement, pour plusieurs ressources, avec défilement automatique
Olivier Lezoray's avatar
Olivier Lezoray committed
98
![Demo une ressource](https://git.unicaen.fr/olivier.lezoray/edt/raw/master/img/demos/displayEDTsOfCurrentHour.gif)
Olivier Lezoray's avatar
Olivier Lezoray committed
99

Olivier Lezoray's avatar
Olivier Lezoray committed
100