### README - ICalendar file (ICal) - Projet GL02 - livrable 2 - A15
Description : Fournit une librairie en javascript repondant au cahier des charges transmis par le groupe CDRS.
Cette librairie permet entre autre:
-1 de convertir un calendrier hebdomadaire d'un format CSV (tel que spécifié dans le CH et le sujet B)
en un formal ICal conforme (spécifié dans le CH)
-2 de comparer des plannings de plusieurs manières:
-2.1 Generer l'intersection de deux planings Ical(Generation d'un fichier de conflit et possibilité d'affichage console de la liste des conflits)
-2.2 Generer les unions de deux planings au format ICal
-2.3 Generer le complementaire d'un planning au format ICal
-3 d'attribuer un créneau en cas de conflit entre deux plannings(Cette fonctionnalité est présente dans le script intersection.js, et est demandée a l'utilisateur
automatiquement a la suite de la generation des conflits)
-4 de consulter le nombre d'interventions hebdomadaire planifiées pour un intervenant
-5 de consulter le volume horaire total hebdomadaire par intervenant.
les fichiers CSV sont au format .csv et respectent la grammaire suivante (telle que spécifiée dans le Cahier des charges):
Jour = 'lundi ;mardi ;mercredi ;jeudi ;vendredi ;samedi; dimanche' CRLF
Ligne = 7*('vide'/personne) ;' CRLF
Personne = 1*(WSP/VCHAR)
Planning = Jour 48Ligne
Les fichiers ICal sont au format .ics et respectent la grammaire suivante (telle que spécifiée dans le Cahier des charges):
format = "BEGIN:VCALENDAR" CRLF "VERSION:2.0" CRLF "PRODID:??//hacksw/ handcal //NONSGML v1 .0//EN" CRLF 1*event CRLF "END:VCALENDAR"
event = "BEGIN:VEVENT" CRLF contenu CRLF "END:VEVENT"
contenu = dtstart CRLF dtend CRLF duration CRLF summary CRLF location
dtstart ="DTSTART:" year month day "T" hour minute second "Z"
dtend ="DTEND:" year month day "T" hour minute second "Z"
year = 4DIGIT
month = 2DIGIT
day = 2DIGIT
hour = 2DIGIT
minute = 2DIGIT
second = 2DIGIT
lummary = "SUMMARY:" 1*(WSP/VCHAR)
location = "LOCATION :" 1*(WSP/VCHAR)
duration = "DURATION :PT" hours "H" minute "M" second "S"
### Utilisation :
Le script parser.js est utilisé lors de l'appel des différents scripts précisé ci-dessous.
Le script vEventtoICAL_v1_1.js est utilisé dans certains des scripts suivant, lorsqu'il est necessaire de generer un fichier .ical a partir de vEvents définis.
Les différents scripts présent dans la bibliothèque et répondant aux exigences fonctionnelles s'utilisent au travers de l'interface AAF-Ical.js s'appelant de la manière suivante:
"node AAAF-Ical.js" fonction [argument] [argument2] [argument3]
fonction = "help"/"help-CSVtoICAL"/"help-intersection"/"help-union"/"help-complementaire"/"help-vEventCount"/"help-hourCount"/"CSVtoICAL"/"intersection"/"union"/"complementaire"/"vEventCount"/"hourCount"
Les fonctions help permettent d'obtenir de l'aide supplémentaires pour chaque fonction.
### Liste des contributeurs
Florian Culié (florian.culie@yahoo.fr)
Antoine Girard-Guittard (antoine.girard_guittard@utt.fr)
Alexandre Patelli (alexandre.patelli@utt.fr)
Alexandre Courcelles (alexandre.courcelles@utt.fr)
Abderrahmane CHENOUFI (abderrahmane.chenoufi@utt.fr)
Hafid DINIA (hafid.dinia@utt.fr)
Simon RAPILLY (simon.rapilly@utt.fr)
Soufiane SAIDI (soufiane.saidi@utt.fr)