Page datant de 2017, iiens.net ne propose plus le calendrier des cours/salles réservées. Le nouveau iiens.net ne fonctionnera pas de la même manière.
Code « machine à écrire »
Attention, cela ne s'applique qu'aux événements publiques
Voilà un petit script pour rajouter les éléments iiens.net sur votre google calendar
Le script dans l'état ne met que les éléments de la vie associative (mais il se configure aisément)
— Tails 2017/10/09 17:24
Actuellement il faut lancer brusquement le script manuellement pour avoir une mise à jour. Voir comment l'execution peut se faire automatiquement est à prévoir
var now =new Date(); var mycal = CalendarApp.getCalendarById("hlg8igq79s8h34ka583ij2d128@group.calendar.google.com") evtype = ["V"] // ['V', 'DS', 'C', 'TP', 'TD'] year = [0] // [0,1,2,3] // année en cours // type are 'V' 'DS' 'C' 'TP' 'TD' for asso, controle, cours, tp, td function addEvents(jsonSearch,evtype){ for( var i = 0; i < jsonSearch.length; i++){ var eventsg = jsonSearch[i].eventgroups for(var m in eventsg) { events = eval("eventsg."+m+".events") for(var n in events) { event = eval("events."+n) if( event.shorttype == evtype ){ var day = event.begin var real_start = event.real_start * 15 var duration = event.duration * 15 var title = event.title var location = event.location var author = event.teacher var start = new Date(new Date(day).getTime() + real_start*60000) var end = new Date(start.getTime() +duration*60000); mycal.createEvent((""+title+"\n"+location+"\n"+author), start, end) } } } } } function strEvent(event){ return event.getTitle()+event.getStartTime() } function removeDuplicateEvent(){ var ev = [] var events = mycal.getEvents(new Date("2015-01-01"), new Date("2022-01-01")) for( var i in events){ event = events[i] var s = strEvent(event) for( var j in ev ){ if( ev[j] == s ) { Logger.log(s) try{event.deleteEvent()} catch(err){Logger.log(s)} } } ev.push(s) } } function updateCal() { for ( var i in year ) { var y = year[i] for( var nweek = 0 ; nweek < 12 ; nweek++ ){ var url = "https://www.iiens.net/etudiants/edt.php?year="+y+"&ts="+parseInt((now.getTime()+604800000*nweek)/1000)+"&format=json"; var jsonData = UrlFetchApp.fetch(url); var jsonString = jsonData.getContentText(); var jsonSearch = JSON.parse(jsonString); for (var j in evtype){ ev = evtype[j] addEvents(jsonSearch,ev) } } } removeDuplicateEvent() }