Menu

Guide de développement

Adrian Genin

Description :
- Ce logiciel a pour but de permettre aux utilisateurs de gérer des calendriers (créer, modifier ou lire) à l'aide d'un fichier qui s'appelle ici Bdd_Yadom.ics.
- De la même façon, l'utilisateur aura la possibilité de rechercher le planning d'une personne et de détecter les conflits dans un fichier ics (icalendar).
- Enfin le logiciel permet la conversion des fichiers depuis le format présenté ci-dessous au format ics.


Composition :
-le logiciel est composé des fichiers :

    - menu.js : Permet d'afficher le menu et de choisir notre action.
    - search.js : Va rechercher un nom passé en paramètre dans un fichier au format ics.
    -afficheNom.js : Affiche la liste des bénéficiaire et intervant de la base de données.
    - showPlanningBetter.js : Affiche le planning d'une personne dont sont nom est passé en paramètre.
    - parseCalendarinObject.js : transformer un calendrier au format ics passé en paramètre en objet.
    - detectConflit : Détecte des conflits dans les différents calendrier d'un même fichier au format ics.
    - creerPlanning: Permet la gestion des plannings (créer un planning, créer, modifier ou supprimer des rendez-vous)
    - import : Importer des fichiers de type ical ou planning à partir de la grammaire de Yadom proposé dans le CDC (format du CDC) au fichier Bdd_Yadom.ics

et du fichier de base de données Bdd_Yadom.ics qui est au format suivant:

    <bdd_yadom> = (<vcalendar>)*
    <vcalendar> = <name> <statut> <beginvcal> CRLF <version> CRLF <prodid> CRLF (<vevent)* <endcal>
    <vevent> = <beginvevent> <uid> <dtstamp> <attendee> <orga> <dtstart> <dtend> <location> <summary> <endvevent>
    <beginvevent> = "BEGIN:VEVENT" CRLF
    <uid> = "UID:"1*WCHAR
    <dtstamp> ="DTSTAMP:" <date> CRLF
    <date> = 8*DIGIT"T"6*DIGIT"Z"
    <attendee> ="ATTENDEE;CN="1*WCHAR";RSVP="1*WCHAR":MAILTO"1*WCHAR CRLF
    <orga>"ORGANIZER;CN="1*WCHAR":MAILTO:"1*WCHAR CRLF
    <dtstart> = "DTSTART:"<date> CRLF
    <dtend> = "DTEND:"<date> CRLF
    <location> = "LOCATION:"1*WCHAR CRLF
    <summary> = "SUMMARY"1*WCHAR CRLF
    <endvevent>="END:VEVENT"
    <name> ="NAME:" 1*WCHAR CRLF
    <statut> = "STATUT:"1*WCHAR CRLF
    <beginvcal> ="BEGIN:VCALENDAR"
    <endcal>="END:VCALENDAR"
    <version> = "VERSION: 2.0"
    <prodid> = "PRODID: -//hacksw/handcal//NONSGML v1.0//EN"

Librairies nécessaires :

    - npm install colors
    - npm install fs
    - npm install string
    - npm install readline-sync
    - npm install nodeunit

    pour fonctionner le programme a besoin de ces librairies qu'il faut donc installer
    avec les lignes de commandes ci-dessus.