dev #4
|
@ -1,5 +1,5 @@
|
||||||
BEGIN:VCALENDAR
|
BEGIN:VCALENDAR
|
||||||
PRODID:-//mp2i-vms//Stackity Bot Inc//EN
|
PRODID:-//mp2i-vms-[2]-(23-24)-s2//Stackity Bot Inc//EN
|
||||||
VERSION:2.0
|
VERSION:2.0
|
||||||
CALSCALE:GREGORIAN
|
CALSCALE:GREGORIAN
|
||||||
METHOD:PUBLISH
|
METHOD:PUBLISH
|
||||||
|
|
Binary file not shown.
|
@ -1,227 +0,0 @@
|
||||||
BEGIN:VCALENDAR
|
|
||||||
PRODID:-//Google Inc//Google Calendar 70.9054//EN
|
|
||||||
VERSION:2.0
|
|
||||||
CALSCALE:GREGORIAN
|
|
||||||
METHOD:PUBLISH
|
|
||||||
X-WR-CALNAME:EDT A
|
|
||||||
X-WR-TIMEZONE:Europe/Paris
|
|
||||||
BEGIN:VTIMEZONE
|
|
||||||
TZID:Europe/Paris
|
|
||||||
X-LIC-LOCATION:Europe/Paris
|
|
||||||
BEGIN:DAYLIGHT
|
|
||||||
TZOFFSETFROM:+0100
|
|
||||||
TZOFFSETTO:+0200
|
|
||||||
TZNAME:CEST
|
|
||||||
DTSTART:19700329T020000
|
|
||||||
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
|
|
||||||
END:DAYLIGHT
|
|
||||||
BEGIN:STANDARD
|
|
||||||
TZOFFSETFROM:+0200
|
|
||||||
TZOFFSETTO:+0100
|
|
||||||
TZNAME:CET
|
|
||||||
DTSTART:19701025T030000
|
|
||||||
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
|
|
||||||
END:STANDARD
|
|
||||||
END:VTIMEZONE
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231016T093000
|
|
||||||
DTEND;TZID=Europe/Paris:20231016T110000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240129T225959Z;INTERVAL=2;BYDAY=MO
|
|
||||||
EXDATE;TZID=Europe/Paris:20231030T093000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231225T093000
|
|
||||||
DTSTAMP:20231208T214231Z
|
|
||||||
UID:6tksnmkvqa2ofqmiu8ava7tqp4@google.com
|
|
||||||
CREATED:20231208T211618Z
|
|
||||||
DESCRIPTION:C154 M.Halfon
|
|
||||||
LAST-MODIFIED:20231208T211618Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:TP Info
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231016T110000
|
|
||||||
DTEND;TZID=Europe/Paris:20231016T120000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240129T225959Z;INTERVAL=2;BYDAY=MO
|
|
||||||
EXDATE;TZID=Europe/Paris:20231030T110000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231225T110000
|
|
||||||
DTSTAMP:20231208T214231Z
|
|
||||||
UID:6p43b7rpcaan0hq4d9mvgdh887@google.com
|
|
||||||
CREATED:20231208T211654Z
|
|
||||||
DESCRIPTION:C154 M.Halfon
|
|
||||||
LAST-MODIFIED:20231208T211654Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:TD Info
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231016T120000
|
|
||||||
DTEND;TZID=Europe/Paris:20231016T130000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240129T225959Z;INTERVAL=2;BYDAY=MO
|
|
||||||
EXDATE;TZID=Europe/Paris:20231030T120000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231225T120000
|
|
||||||
DTSTAMP:20231208T214231Z
|
|
||||||
UID:2iu71o08u87hvdcds6oemknqko@google.com
|
|
||||||
CREATED:20231208T211730Z
|
|
||||||
DESCRIPTION:R105 Mme Chevalier
|
|
||||||
LAST-MODIFIED:20231208T211730Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:TD Physique
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231016T080000
|
|
||||||
DTEND;TZID=Europe/Paris:20231016T093000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240129T225959Z;INTERVAL=2;BYDAY=MO
|
|
||||||
EXDATE;TZID=Europe/Paris:20231030T080000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231225T080000
|
|
||||||
DTSTAMP:20231208T214231Z
|
|
||||||
UID:05c3l6f99s6qmni5dkhrh76i93@google.com
|
|
||||||
CREATED:20231208T211517Z
|
|
||||||
DESCRIPTION:R417 Mme Chevalier
|
|
||||||
LAST-MODIFIED:20231208T211748Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:TP Physique
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231019T110000
|
|
||||||
DTEND;TZID=Europe/Paris:20231019T120000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240201T225959Z;INTERVAL=2;BYDAY=TH
|
|
||||||
EXDATE;TZID=Europe/Paris:20231102T110000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231228T110000
|
|
||||||
DTSTAMP:20231208T214231Z
|
|
||||||
UID:43l8ed3fpplah0ru587eb86uch@google.com
|
|
||||||
CREATED:20231208T211836Z
|
|
||||||
DESCRIPTION:M103 Mme Mullaert
|
|
||||||
LAST-MODIFIED:20231208T211836Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:TD Maths
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231019T120000
|
|
||||||
DTEND;TZID=Europe/Paris:20231019T130000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240201T225959Z;INTERVAL=2;BYDAY=TH
|
|
||||||
EXDATE;TZID=Europe/Paris:20231102T120000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231228T120000
|
|
||||||
DTSTAMP:20231208T214231Z
|
|
||||||
UID:7d3rj0tbhr03d9lla61138a217@google.com
|
|
||||||
CREATED:20231208T211903Z
|
|
||||||
DESCRIPTION:M101 M. Halfon
|
|
||||||
LAST-MODIFIED:20231208T211924Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:TD Info
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231020T140000
|
|
||||||
DTEND;TZID=Europe/Paris:20231020T150000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240202T225959Z;INTERVAL=2;BYDAY=FR
|
|
||||||
EXDATE;TZID=Europe/Paris:20231103T140000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231229T140000
|
|
||||||
DTSTAMP:20231208T214231Z
|
|
||||||
UID:0iepm152dmqecobb7r8b57o6ml@google.com
|
|
||||||
CREATED:20231208T212004Z
|
|
||||||
DESCRIPTION:M. Halfon
|
|
||||||
LAST-MODIFIED:20231208T212004Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:TD Info
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231106T093000
|
|
||||||
DTEND;TZID=Europe/Paris:20231106T110000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240129T225959Z;INTERVAL=2;BYDAY=MO
|
|
||||||
EXDATE;TZID=Europe/Paris:20240101T093000
|
|
||||||
DTSTAMP:20231208T214231Z
|
|
||||||
UID:2kfttah24ae4pr27kofkf237n4@google.com
|
|
||||||
CREATED:20231208T212242Z
|
|
||||||
DESCRIPTION:R417 Mme Chevalier
|
|
||||||
LAST-MODIFIED:20231208T212242Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:TP Physique
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231106T110000
|
|
||||||
DTEND;TZID=Europe/Paris:20231106T120000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240129T225959Z;INTERVAL=2;BYDAY=MO
|
|
||||||
EXDATE;TZID=Europe/Paris:20240101T110000
|
|
||||||
DTSTAMP:20231208T214231Z
|
|
||||||
UID:0t6le1spjav4e8tcqtn9gt99ll@google.com
|
|
||||||
CREATED:20231208T212319Z
|
|
||||||
DESCRIPTION:R105 Mme Chevalier
|
|
||||||
LAST-MODIFIED:20231208T212319Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:TD Physique
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231106T120000
|
|
||||||
DTEND;TZID=Europe/Paris:20231106T130000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240129T225959Z;INTERVAL=2;BYDAY=MO
|
|
||||||
EXDATE;TZID=Europe/Paris:20240101T120000
|
|
||||||
DTSTAMP:20231208T214231Z
|
|
||||||
UID:244mt1li8fvcj5mduvs2m6cmfo@google.com
|
|
||||||
CREATED:20231208T212348Z
|
|
||||||
LAST-MODIFIED:20231208T212348Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:TD Info
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231110T150000
|
|
||||||
DTEND;TZID=Europe/Paris:20231110T160000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240202T225959Z;INTERVAL=2;BYDAY=FR
|
|
||||||
EXDATE;TZID=Europe/Paris:20240105T150000
|
|
||||||
DTSTAMP:20231208T214231Z
|
|
||||||
UID:1kvsrj6sgnkjpgf3l4fp4u7b4m@google.com
|
|
||||||
CREATED:20231208T212453Z
|
|
||||||
DESCRIPTION:C154 M. Halfon
|
|
||||||
LAST-MODIFIED:20231208T212515Z
|
|
||||||
SEQUENCE:1
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:TD Info
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231109T110000
|
|
||||||
DTEND;TZID=Europe/Paris:20231109T120000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240201T225959Z;INTERVAL=2;BYDAY=TH
|
|
||||||
EXDATE;TZID=Europe/Paris:20240104T110000
|
|
||||||
DTSTAMP:20231208T214231Z
|
|
||||||
UID:46lkfuetibmt64ah8042mf0ern@google.com
|
|
||||||
CREATED:20231208T212409Z
|
|
||||||
DESCRIPTION:M101 M. Halfon
|
|
||||||
LAST-MODIFIED:20231208T212558Z
|
|
||||||
SEQUENCE:1
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:TD Info
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231109T120000
|
|
||||||
DTEND;TZID=Europe/Paris:20231109T130000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240201T225959Z;INTERVAL=2;BYDAY=TH
|
|
||||||
EXDATE;TZID=Europe/Paris:20240104T120000
|
|
||||||
DTSTAMP:20231208T214231Z
|
|
||||||
UID:4oue8sl05i1n4tu5tt1g8glagu@google.com
|
|
||||||
CREATED:20231208T212439Z
|
|
||||||
DESCRIPTION:M103 Mme Mullaert
|
|
||||||
LAST-MODIFIED:20231208T212609Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:TD Maths
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
END:VCALENDAR
|
|
|
@ -1,220 +0,0 @@
|
||||||
BEGIN:VCALENDAR
|
|
||||||
PRODID:-//Google Inc//Google Calendar 70.9054//EN
|
|
||||||
VERSION:2.0
|
|
||||||
CALSCALE:GREGORIAN
|
|
||||||
METHOD:PUBLISH
|
|
||||||
X-WR-CALNAME:EDT B
|
|
||||||
X-WR-TIMEZONE:Europe/Paris
|
|
||||||
BEGIN:VTIMEZONE
|
|
||||||
TZID:Europe/Paris
|
|
||||||
X-LIC-LOCATION:Europe/Paris
|
|
||||||
BEGIN:DAYLIGHT
|
|
||||||
TZOFFSETFROM:+0100
|
|
||||||
TZOFFSETTO:+0200
|
|
||||||
TZNAME:CEST
|
|
||||||
DTSTART:19700329T020000
|
|
||||||
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
|
|
||||||
END:DAYLIGHT
|
|
||||||
BEGIN:STANDARD
|
|
||||||
TZOFFSETFROM:+0200
|
|
||||||
TZOFFSETTO:+0100
|
|
||||||
TZNAME:CET
|
|
||||||
DTSTART:19701025T030000
|
|
||||||
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
|
|
||||||
END:STANDARD
|
|
||||||
END:VTIMEZONE
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231106T093000
|
|
||||||
DTEND;TZID=Europe/Paris:20231106T110000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240129T225959Z;INTERVAL=2;BYDAY=MO
|
|
||||||
EXDATE;TZID=Europe/Paris:20240101T093000
|
|
||||||
DTSTAMP:20231208T214107Z
|
|
||||||
UID:38m2tjmnuvcp6as7ubihkva1qp@google.com
|
|
||||||
CREATED:20231208T212830Z
|
|
||||||
DESCRIPTION:R417 Mme Chevalier
|
|
||||||
LAST-MODIFIED:20231208T212830Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:TP Physique
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231106T110000
|
|
||||||
DTEND;TZID=Europe/Paris:20231106T120000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240129T225959Z;INTERVAL=2;BYDAY=MO
|
|
||||||
EXDATE;TZID=Europe/Paris:20240101T110000
|
|
||||||
DTSTAMP:20231208T214107Z
|
|
||||||
UID:57s3rt8dn36smk6fjevjt8mc3j@google.com
|
|
||||||
CREATED:20231208T212914Z
|
|
||||||
DESCRIPTION:R105 Mme Chevalier
|
|
||||||
LAST-MODIFIED:20231208T212914Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:TD Physique
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231109T110000
|
|
||||||
DTEND;TZID=Europe/Paris:20231109T120000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240201T225959Z;INTERVAL=2;BYDAY=TH
|
|
||||||
EXDATE;TZID=Europe/Paris:20240104T110000
|
|
||||||
DTSTAMP:20231208T214107Z
|
|
||||||
UID:3nsq6jor4sslmfr9sc8lvd04tl@google.com
|
|
||||||
CREATED:20231208T213100Z
|
|
||||||
DESCRIPTION:M101 M. Halfon
|
|
||||||
LAST-MODIFIED:20231208T213100Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:TD Info
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231109T120000
|
|
||||||
DTEND;TZID=Europe/Paris:20231109T130000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240201T225959Z;INTERVAL=2;BYDAY=TH
|
|
||||||
EXDATE;TZID=Europe/Paris:20240104T120000
|
|
||||||
DTSTAMP:20231208T214107Z
|
|
||||||
UID:4f8bam5qhqq2c2ai8dnfq1m8uk@google.com
|
|
||||||
CREATED:20231208T213240Z
|
|
||||||
DESCRIPTION:M103 Mme Mullaert
|
|
||||||
LAST-MODIFIED:20231208T213240Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:TD Maths
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231110T150000
|
|
||||||
DTEND;TZID=Europe/Paris:20231110T160000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240202T225959Z;INTERVAL=2;BYDAY=FR
|
|
||||||
EXDATE;TZID=Europe/Paris:20240105T150000
|
|
||||||
DTSTAMP:20231208T214107Z
|
|
||||||
UID:2c2s2lqvt1u52tfumt8hokq16o@google.com
|
|
||||||
CREATED:20231208T213318Z
|
|
||||||
DESCRIPTION:C154 M. Halfon
|
|
||||||
LAST-MODIFIED:20231208T213338Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:TD Info
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231113T080000
|
|
||||||
DTEND;TZID=Europe/Paris:20231113T093000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240129T225959Z;INTERVAL=2;BYDAY=MO
|
|
||||||
EXDATE;TZID=Europe/Paris:20231225T080000
|
|
||||||
DTSTAMP:20231208T214107Z
|
|
||||||
UID:6evs2c8ndhdriv3t4nml340nfl@google.com
|
|
||||||
CREATED:20231208T213435Z
|
|
||||||
DESCRIPTION:R417 Mme Chevalier
|
|
||||||
LAST-MODIFIED:20231208T213435Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:TP Physique
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231113T093000
|
|
||||||
DTEND;TZID=Europe/Paris:20231113T110000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240129T225959Z;INTERVAL=2;BYDAY=MO
|
|
||||||
EXDATE;TZID=Europe/Paris:20231225T093000
|
|
||||||
DTSTAMP:20231208T214107Z
|
|
||||||
UID:1m1sdklqirohe5bnj9r8a6f5bt@google.com
|
|
||||||
CREATED:20231208T213508Z
|
|
||||||
DESCRIPTION:C154 M. Halfon
|
|
||||||
LAST-MODIFIED:20231208T213508Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:TP Info
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231113T110000
|
|
||||||
DTEND;TZID=Europe/Paris:20231113T120000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240129T225959Z;INTERVAL=2;BYDAY=MO
|
|
||||||
EXDATE;TZID=Europe/Paris:20231225T110000
|
|
||||||
DTSTAMP:20231208T214107Z
|
|
||||||
UID:4raatd1u2pgn9kq846ocrttgav@google.com
|
|
||||||
CREATED:20231208T213530Z
|
|
||||||
LAST-MODIFIED:20231208T213530Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:TD Info
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231113T120000
|
|
||||||
DTEND;TZID=Europe/Paris:20231113T130000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240129T225959Z;INTERVAL=2;BYDAY=MO
|
|
||||||
EXDATE;TZID=Europe/Paris:20231225T120000
|
|
||||||
DTSTAMP:20231208T214107Z
|
|
||||||
UID:27s33min11sj6bubdgqgbru8s2@google.com
|
|
||||||
CREATED:20231208T213658Z
|
|
||||||
DESCRIPTION:R105 Mme Chevalier
|
|
||||||
LAST-MODIFIED:20231208T213658Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:TD Physique
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231116T110000
|
|
||||||
DTEND;TZID=Europe/Paris:20231116T120000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240201T225959Z;INTERVAL=2;BYDAY=TH
|
|
||||||
EXDATE;TZID=Europe/Paris:20231228T110000
|
|
||||||
DTSTAMP:20231208T214107Z
|
|
||||||
UID:6g9cp51p3nph1cm61b73gv7cco@google.com
|
|
||||||
CREATED:20231208T213741Z
|
|
||||||
DESCRIPTION:M103 Mme Mullaert
|
|
||||||
LAST-MODIFIED:20231208T213741Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:TD Maths
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231116T120000
|
|
||||||
DTEND;TZID=Europe/Paris:20231116T130000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240201T225959Z;INTERVAL=2;BYDAY=TH
|
|
||||||
EXDATE;TZID=Europe/Paris:20231228T120000
|
|
||||||
DTSTAMP:20231208T214107Z
|
|
||||||
UID:66bjc3nkr39uejqv558jepfek6@google.com
|
|
||||||
CREATED:20231208T213801Z
|
|
||||||
DESCRIPTION:M101 M. Halfon
|
|
||||||
LAST-MODIFIED:20231208T213811Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:TD Info
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231117T140000
|
|
||||||
DTEND;TZID=Europe/Paris:20231117T150000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240202T225959Z;INTERVAL=2;BYDAY=FR
|
|
||||||
EXDATE;TZID=Europe/Paris:20231229T140000
|
|
||||||
DTSTAMP:20231208T214107Z
|
|
||||||
UID:3dt3pt2s2e3vipg6gucgrgqakp@google.com
|
|
||||||
CREATED:20231208T213840Z
|
|
||||||
DESCRIPTION:C154 M. Halfon
|
|
||||||
LAST-MODIFIED:20231208T213840Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:TD Info
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231106T120000
|
|
||||||
DTEND;TZID=Europe/Paris:20231106T130000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240129T225959Z;INTERVAL=2;BYDAY=MO
|
|
||||||
EXDATE;TZID=Europe/Paris:20240101T120000
|
|
||||||
DTSTAMP:20231208T214107Z
|
|
||||||
UID:79poqj528ega8337l2ejk7ri95@google.com
|
|
||||||
CREATED:20231208T212938Z
|
|
||||||
DESCRIPTION:C154 M. Halfon
|
|
||||||
LAST-MODIFIED:20231208T213941Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:TD Info
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
END:VCALENDAR
|
|
|
@ -1,269 +0,0 @@
|
||||||
BEGIN:VCALENDAR
|
|
||||||
PRODID:-//Google Inc//Google Calendar 70.9054//EN
|
|
||||||
VERSION:2.0
|
|
||||||
CALSCALE:GREGORIAN
|
|
||||||
METHOD:PUBLISH
|
|
||||||
X-WR-CALNAME:EDT Base
|
|
||||||
X-WR-TIMEZONE:Europe/Paris
|
|
||||||
BEGIN:VTIMEZONE
|
|
||||||
TZID:Europe/Paris
|
|
||||||
X-LIC-LOCATION:Europe/Paris
|
|
||||||
BEGIN:DAYLIGHT
|
|
||||||
TZOFFSETFROM:+0100
|
|
||||||
TZOFFSETTO:+0200
|
|
||||||
TZNAME:CEST
|
|
||||||
DTSTART:19700329T020000
|
|
||||||
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
|
|
||||||
END:DAYLIGHT
|
|
||||||
BEGIN:STANDARD
|
|
||||||
TZOFFSETFROM:+0200
|
|
||||||
TZOFFSETTO:+0100
|
|
||||||
TZNAME:CET
|
|
||||||
DTSTART:19701025T030000
|
|
||||||
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
|
|
||||||
END:STANDARD
|
|
||||||
END:VTIMEZONE
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231017T100000
|
|
||||||
DTEND;TZID=Europe/Paris:20231017T110000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240130T225959Z;BYDAY=TU
|
|
||||||
EXDATE;TZID=Europe/Paris:20231031T100000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231024T100000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231226T100000
|
|
||||||
EXDATE;TZID=Europe/Paris:20240102T100000
|
|
||||||
DTSTAMP:20231208T214314Z
|
|
||||||
UID:5i1f6g2kb66dc66ulie1sv4jn9@google.com
|
|
||||||
CREATED:20231014T145711Z
|
|
||||||
DESCRIPTION:R415 M. Dérumaux
|
|
||||||
LAST-MODIFIED:20231014T145711Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:SI
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231020T110000
|
|
||||||
DTEND;TZID=Europe/Paris:20231020T130000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240202T225959Z;BYDAY=FR
|
|
||||||
EXDATE;TZID=Europe/Paris:20231103T110000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231027T110000
|
|
||||||
EXDATE;TZID=Europe/Paris:20240105T110000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231229T110000
|
|
||||||
DTSTAMP:20231208T214314Z
|
|
||||||
UID:3ob8c00mn8rggnqotq4js7ru5b@google.com
|
|
||||||
CREATED:20231014T151115Z
|
|
||||||
DESCRIPTION:M103 M. Halfon
|
|
||||||
LAST-MODIFIED:20231014T151133Z
|
|
||||||
SEQUENCE:1
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:Info
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231009T160000
|
|
||||||
DTEND;TZID=Europe/Paris:20231009T180000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240129T225959Z;BYDAY=MO
|
|
||||||
EXDATE;TZID=Europe/Paris:20231023T160000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231225T160000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231009T160000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231030T160000
|
|
||||||
EXDATE;TZID=Europe/Paris:20240101T160000
|
|
||||||
DTSTAMP:20231208T214314Z
|
|
||||||
UID:026n391dj8ktovl9dhuttnuc7q@google.com
|
|
||||||
CREATED:20231014T150838Z
|
|
||||||
DESCRIPTION:M103 Mullaert
|
|
||||||
LAST-MODIFIED:20231014T151900Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:TD Maths
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231009T140000
|
|
||||||
DTEND;TZID=Europe/Paris:20231009T160000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240204T225959Z;BYDAY=MO
|
|
||||||
EXDATE;TZID=Europe/Paris:20231023T140000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231030T140000
|
|
||||||
EXDATE;TZID=Europe/Paris:20240101T140000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231225T140000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231009T140000
|
|
||||||
DTSTAMP:20231208T214314Z
|
|
||||||
UID:Ical6c740b854d8d69f261a8c557224a868d
|
|
||||||
CREATED:20231013T150304Z
|
|
||||||
DESCRIPTION:M103 Mme Mullaert
|
|
||||||
LAST-MODIFIED:20231208T210018Z
|
|
||||||
SEQUENCE:1
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:Maths
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231106T160000
|
|
||||||
DTEND;TZID=Europe/Paris:20231106T180000
|
|
||||||
DTSTAMP:20231208T214314Z
|
|
||||||
UID:026n391dj8ktovl9dhuttnuc7q@google.com
|
|
||||||
RECURRENCE-ID;TZID=Europe/Paris:20231106T160000
|
|
||||||
CREATED:20231014T150838Z
|
|
||||||
DESCRIPTION:M103 Mme Mullaert
|
|
||||||
LAST-MODIFIED:20231208T210036Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:TD Maths
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231017T140000
|
|
||||||
DTEND;TZID=Europe/Paris:20231017T160000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240130T225959Z;BYDAY=TU
|
|
||||||
EXDATE;TZID=Europe/Paris:20231024T140000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231031T140000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231226T140000
|
|
||||||
EXDATE;TZID=Europe/Paris:20240102T140000
|
|
||||||
DTSTAMP:20231208T214314Z
|
|
||||||
UID:2trqqfv4cm64oj8aec9gdoi7ki@google.com
|
|
||||||
CREATED:20231014T145958Z
|
|
||||||
DESCRIPTION:R103 Mme Chevalier
|
|
||||||
LAST-MODIFIED:20231208T210051Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:Physique
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231019T140000
|
|
||||||
DTEND;TZID=Europe/Paris:20231019T160000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240201T225959Z;BYDAY=TH
|
|
||||||
EXDATE;TZID=Europe/Paris:20231026T140000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231102T140000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231228T140000
|
|
||||||
EXDATE;TZID=Europe/Paris:20240104T140000
|
|
||||||
DTSTAMP:20231208T214314Z
|
|
||||||
UID:5jdpl8ej5okmm8f1dk7i6c1fe5@google.com
|
|
||||||
CREATED:20231014T150034Z
|
|
||||||
DESCRIPTION:R011 Mme Chevalier
|
|
||||||
LAST-MODIFIED:20231208T210120Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:Physique
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231019T080000
|
|
||||||
DTEND;TZID=Europe/Paris:20231019T110000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240201T225959Z;BYDAY=TH
|
|
||||||
EXDATE;TZID=Europe/Paris:20231026T080000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231102T080000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231228T080000
|
|
||||||
EXDATE;TZID=Europe/Paris:20240104T080000
|
|
||||||
DTSTAMP:20231208T214314Z
|
|
||||||
UID:10ferd1njg5al2jn636mplhu04@google.com
|
|
||||||
CREATED:20231014T150236Z
|
|
||||||
DESCRIPTION:M103 Mme Mullaert
|
|
||||||
LAST-MODIFIED:20231208T210138Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:Maths
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231020T080000
|
|
||||||
DTEND;TZID=Europe/Paris:20231020T110000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240202T225959Z;BYDAY=FR
|
|
||||||
EXDATE;TZID=Europe/Paris:20231027T080000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231103T080000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231229T080000
|
|
||||||
EXDATE;TZID=Europe/Paris:20240105T080000
|
|
||||||
DTSTAMP:20231208T214314Z
|
|
||||||
UID:0gmrlbiololsmt5f1fig96laj6@google.com
|
|
||||||
CREATED:20231014T150941Z
|
|
||||||
DESCRIPTION:M103 Mme Mullaert
|
|
||||||
LAST-MODIFIED:20231208T210150Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:Maths
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231020T080000
|
|
||||||
DTEND;TZID=Europe/Paris:20231020T110000
|
|
||||||
DTSTAMP:20231208T214314Z
|
|
||||||
UID:0gmrlbiololsmt5f1fig96laj6@google.com
|
|
||||||
RECURRENCE-ID;TZID=Europe/Paris:20231020T080000
|
|
||||||
CREATED:20231014T150941Z
|
|
||||||
DESCRIPTION:M103 Mme Mullaert
|
|
||||||
LAST-MODIFIED:20231208T210150Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:Maths
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231110T110000
|
|
||||||
DTEND;TZID=Europe/Paris:20231110T130000
|
|
||||||
DTSTAMP:20231208T214314Z
|
|
||||||
UID:3ob8c00mn8rggnqotq4js7ru5b@google.com
|
|
||||||
RECURRENCE-ID;TZID=Europe/Paris:20231110T110000
|
|
||||||
CREATED:20231014T151115Z
|
|
||||||
DESCRIPTION:M103 M. Halfon
|
|
||||||
LAST-MODIFIED:20231208T210202Z
|
|
||||||
SEQUENCE:1
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:Info
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231019T160000
|
|
||||||
DTEND;TZID=Europe/Paris:20231019T180000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240201T225959Z;BYDAY=TH
|
|
||||||
EXDATE;TZID=Europe/Paris:20231026T160000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231102T160000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231228T160000
|
|
||||||
EXDATE;TZID=Europe/Paris:20240104T160000
|
|
||||||
DTSTAMP:20231208T214314Z
|
|
||||||
UID:1rmvg62fjpeg1bco9mue2eqto5@google.com
|
|
||||||
CREATED:20231014T150105Z
|
|
||||||
DESCRIPTION:Gymnase M. Torres-Lacaz
|
|
||||||
LAST-MODIFIED:20231208T210242Z
|
|
||||||
SEQUENCE:1
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:EPS
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231018T100000
|
|
||||||
DTEND;TZID=Europe/Paris:20231018T120000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240131T225959Z;BYDAY=WE
|
|
||||||
EXDATE;TZID=Europe/Paris:20231025T100000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231101T100000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231227T100000
|
|
||||||
EXDATE;TZID=Europe/Paris:20240103T100000
|
|
||||||
DTSTAMP:20231208T214314Z
|
|
||||||
UID:0g633d5rmneem0svc7tagl421g@google.com
|
|
||||||
CREATED:20231014T145824Z
|
|
||||||
DESCRIPTION:M103 Mme Chapiro
|
|
||||||
LAST-MODIFIED:20231208T210305Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:Français
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231010T080000
|
|
||||||
DTEND;TZID=Europe/Paris:20231010T100000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240130T225959Z;BYDAY=TU
|
|
||||||
EXDATE;TZID=Europe/Paris:20231010T080000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231024T080000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231031T080000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231226T080000
|
|
||||||
EXDATE;TZID=Europe/Paris:20240102T080000
|
|
||||||
DTSTAMP:20231208T214314Z
|
|
||||||
UID:0idrr2fvn053pera1598qsl6pi@google.com
|
|
||||||
CREATED:20231014T145346Z
|
|
||||||
DESCRIPTION:M103 Mme Mullaert
|
|
||||||
LAST-MODIFIED:20231208T214008Z
|
|
||||||
SEQUENCE:1
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:Maths
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
END:VCALENDAR
|
|
|
@ -1,122 +0,0 @@
|
||||||
BEGIN:VCALENDAR
|
|
||||||
PRODID:-//Google Inc//Google Calendar 70.9054//EN
|
|
||||||
VERSION:2.0
|
|
||||||
CALSCALE:GREGORIAN
|
|
||||||
METHOD:PUBLISH
|
|
||||||
X-WR-CALNAME:EDT Langues
|
|
||||||
X-WR-TIMEZONE:Europe/Paris
|
|
||||||
BEGIN:VTIMEZONE
|
|
||||||
TZID:Europe/Paris
|
|
||||||
X-LIC-LOCATION:Europe/Paris
|
|
||||||
BEGIN:DAYLIGHT
|
|
||||||
TZOFFSETFROM:+0100
|
|
||||||
TZOFFSETTO:+0200
|
|
||||||
TZNAME:CEST
|
|
||||||
DTSTART:19700329T020000
|
|
||||||
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
|
|
||||||
END:DAYLIGHT
|
|
||||||
BEGIN:STANDARD
|
|
||||||
TZOFFSETFROM:+0200
|
|
||||||
TZOFFSETTO:+0100
|
|
||||||
TZNAME:CET
|
|
||||||
DTSTART:19701025T030000
|
|
||||||
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
|
|
||||||
END:STANDARD
|
|
||||||
END:VTIMEZONE
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231017T110000
|
|
||||||
DTEND;TZID=Europe/Paris:20231017T130000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240130T225959Z;BYDAY=TU
|
|
||||||
EXDATE;TZID=Europe/Paris:20231024T110000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231031T110000
|
|
||||||
EXDATE;TZID=Europe/Paris:20231226T110000
|
|
||||||
EXDATE;TZID=Europe/Paris:20240102T110000
|
|
||||||
DTSTAMP:20231208T214916Z
|
|
||||||
UID:08ih4mv3sfe0so9bt3016kdou4@google.com
|
|
||||||
CREATED:20231018T160030Z
|
|
||||||
LAST-MODIFIED:20231208T214519Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:Anglais LV1
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231107T110000
|
|
||||||
DTEND;TZID=Europe/Paris:20231107T123000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240130T225959Z;BYDAY=TU
|
|
||||||
EXDATE;TZID=Europe/Paris:20231226T110000
|
|
||||||
EXDATE;TZID=Europe/Paris:20240102T110000
|
|
||||||
DTSTAMP:20231208T214916Z
|
|
||||||
UID:6tdhe8vsvc6drfb3skq8gij9e0@google.com
|
|
||||||
CREATED:20231208T214507Z
|
|
||||||
DESCRIPTION:C180
|
|
||||||
LAST-MODIFIED:20231208T214531Z
|
|
||||||
SEQUENCE:1
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:Anglais LV2
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231108T080000
|
|
||||||
DTEND;TZID=Europe/Paris:20231108T100000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240131T225959Z;BYDAY=WE
|
|
||||||
EXDATE;TZID=Europe/Paris:20231227T080000
|
|
||||||
EXDATE;TZID=Europe/Paris:20240103T080000
|
|
||||||
DTSTAMP:20231208T214916Z
|
|
||||||
UID:14rig76ee7hsp2hdlihe5svhff@google.com
|
|
||||||
CREATED:20231208T214610Z
|
|
||||||
DESCRIPTION:M103
|
|
||||||
LAST-MODIFIED:20231208T214610Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:Espagnol LV1
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231108T083000
|
|
||||||
DTEND;TZID=Europe/Paris:20231108T100000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240131T225959Z;BYDAY=WE
|
|
||||||
EXDATE;TZID=Europe/Paris:20231227T083000
|
|
||||||
EXDATE;TZID=Europe/Paris:20240103T083000
|
|
||||||
DTSTAMP:20231208T214916Z
|
|
||||||
UID:5t3s6b0g2m0d64gcpn84gmc35e@google.com
|
|
||||||
CREATED:20231208T214648Z
|
|
||||||
DESCRIPTION:C452
|
|
||||||
LAST-MODIFIED:20231208T214656Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:Espagnol LV2
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231108T080000
|
|
||||||
DTEND;TZID=Europe/Paris:20231108T100000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240131T225959Z;BYDAY=WE
|
|
||||||
EXDATE;TZID=Europe/Paris:20231227T080000
|
|
||||||
EXDATE;TZID=Europe/Paris:20240103T080000
|
|
||||||
DTSTAMP:20231208T214916Z
|
|
||||||
UID:6kqdomdqip5h9vt1v2n492vrlq@google.com
|
|
||||||
CREATED:20231208T214723Z
|
|
||||||
DESCRIPTION:M103
|
|
||||||
LAST-MODIFIED:20231208T214723Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:Allemand LV1
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
BEGIN:VEVENT
|
|
||||||
DTSTART;TZID=Europe/Paris:20231108T083000
|
|
||||||
DTEND;TZID=Europe/Paris:20231108T100000
|
|
||||||
RRULE:FREQ=WEEKLY;WKST=MO;UNTIL=20240131T225959Z;BYDAY=WE
|
|
||||||
EXDATE;TZID=Europe/Paris:20231227T083000
|
|
||||||
EXDATE;TZID=Europe/Paris:20240103T083000
|
|
||||||
DTSTAMP:20231208T214916Z
|
|
||||||
UID:5g3s2dm0sfmup225aocuqpcdta@google.com
|
|
||||||
CREATED:20231208T214743Z
|
|
||||||
LAST-MODIFIED:20231208T214743Z
|
|
||||||
SEQUENCE:0
|
|
||||||
STATUS:CONFIRMED
|
|
||||||
SUMMARY:Allemand LV2
|
|
||||||
TRANSP:OPAQUE
|
|
||||||
END:VEVENT
|
|
||||||
END:VCALENDAR
|
|
|
@ -1,74 +0,0 @@
|
||||||
Semaine,,,,,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
|
|
||||||
,,,,,18/09/23,25/09/23,02/10/23,09/10/23,16/10/23,06/11/23,13/11/23,20/11/23,27/11/23,04/12/23,11/12/23,18/12/23,08/01/24,15/01/24,22/01/24,29/01/24
|
|
||||||
matière,jour,heure,colleur,salle,,,,,,,,,,,,,,,,
|
|
||||||
,,,,,,,,,,,,,,,,,,,,
|
|
||||||
Allemand,jeudi,18h,Mme ADAM,C258,,,9,,9,,9,,9,,9,,9,,9,
|
|
||||||
Mathématiques,vendredi,15h,Mme MULLAERT,C181,1,2,3,4,5,6,7,8,9,10,11,12,1,14,15,8
|
|
||||||
Anglais,mercredi,14h,Mme. LE GOURIELLEC,C393,3,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
|
|
||||||
Mathématiques,vendredi,14h,M. BOUVEROT,M103,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,1
|
|
||||||
Physique,mardi,16h,Mme. CHEVALIER,R103,2,3,4,5,6,7,8,9,10,11,12,13,14,15,,1
|
|
||||||
Mathématiques,vendredi,17h,M. OUBAHA,C382,3,4,5,6,7,8,9,10,11,12,13,14,15,6,1,2
|
|
||||||
Anglais,mardi,16h,Mme. BELAGOUNE,C454,1,4,5,6,7,8,9,10,11,12,13,14,15,,1,2
|
|
||||||
pas de colle,,,,,4,5,6,7,8,9,10,11,12,13,14,15,5,1,2,3
|
|
||||||
Physique,mardi,17h,M. COLIN,C386,4,5,6,7,8,9,10,11,12,13,14,15,,1,2,3
|
|
||||||
Mathématiques,mercredi,15h,M. BOULLY,R004,5,6,7,8,9,10,11,12,13,14,15,7,13,2,3,4
|
|
||||||
Anglais,mardi,16h,M. HERBAUT,C392,5,6,7,8,9,10,11,12,13,14,15,,1,2,3,4
|
|
||||||
Mathématiques,mardi,18h,M. RAPIN,V152,6,7,8,9,10,11,12,13,14,15,3,1,2,3,4,5
|
|
||||||
Physique,mercredi,17h,M. POUPY,R012,6,7,8,9,10,11,12,13,14,15,,1,2,3,4,5
|
|
||||||
Mathématiques,mardi,17h,M. CARPINTERO,C383,7,8,9,10,11,12,13,14,15,2,1,2,3,4,5,6
|
|
||||||
Anglais,mercredi,16h,Mme. MANN,C380,7,8,9,10,11,12,13,14,7,,1,2,3,4,5,6
|
|
||||||
pas de colle,,,,,8,9,10,11,12,13,14,15,1,1,2,3,4,5,6,7
|
|
||||||
Physique,mardi,17h,Mme. CHEVALIER,R103,8,9,10,11,12,13,14,15,,1,2,3,4,5,6,7
|
|
||||||
,,,,,,,,,,,,,,,,,,,,
|
|
||||||
Anglais,mercredi,15h,Mme. LE GOURIELLEC,C393,9,10,11,12,13,14,15,,15,2,3,4,5,6,7,8
|
|
||||||
Mathématiques,vendredi,14h,Mme MULLAERT,C181,10,11,12,13,14,15,15,1,2,3,4,5,6,7,8,9
|
|
||||||
Physique,jeudi,18h,M. DE ROUX,C054,10,11,12,13,14,15,,1,2,3,4,5,6,7,8,9
|
|
||||||
Mathématiques,vendredi,18h,M. OUBAHA,C382,11,12,13,14,15,14,1,2,3,4,5,6,7,8,9,10
|
|
||||||
Anglais,mardi,17h,Mme. BELAGOUNE,C454,11,12,13,14,15,,1,2,3,4,5,6,7,8,9,10
|
|
||||||
pas de colle,,,,,12,13,14,15,13,1,2,3,4,5,6,7,8,9,10,11
|
|
||||||
Physique,mardi,16h,M. COLIN,C386,12,13,14,15,,1,2,3,4,5,6,4,8,9,10,11
|
|
||||||
Mathématiques,mercredi,14h,M. BOULLY,R004,13,14,15,12,1,2,3,4,5,6,7,8,9,10,11,12
|
|
||||||
Anglais,mardi,16h,Mme. FULCONIS,C393,13,14,15,,1,2,3,4,5,6,7,8,9,10,11,12
|
|
||||||
Mathématiques,jeudi,18h,M. RAPIN,C284,14,15,11,1,2,3,4,5,6,7,8,9,10,11,12,13
|
|
||||||
Physique,mardi,18h,Mme. CHEVALIER,R103,14,15,,1,2,3,4,5,6,7,8,9,10,11,12,13
|
|
||||||
Mathématiques,mardi,18h,M. CARPINTERO,C383,15,10,1,2,3,4,5,6,7,8,9,10,11,12,13,14
|
|
||||||
Anglais,mercredi,17h,Mme. MANN,C380,15,,1,2,3,4,5,6,1,8,9,10,11,12,13,14
|
|
||||||
pas de colle,,,,,,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
|
|
||||||
Physique,mercredi,18h,M. POUPY,R012,,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
|
|
||||||
EDT SI: cours de 16h,,,,,"4§ 7§ 8§
|
|
||||||
11§ 1§ 6§
|
|
||||||
9§ 10","5§ 8§ 9§
|
|
||||||
12§ 2§ 7§
|
|
||||||
10§ 11","6§ 9§ 10§
|
|
||||||
13§ 3§ 8§
|
|
||||||
11§ 12","7§ 10§
|
|
||||||
11§ 14§
|
|
||||||
4§ 9§ 12§
|
|
||||||
13","8§ 11§
|
|
||||||
12§ 15§
|
|
||||||
5§ 10§
|
|
||||||
13§ 14","9§ 12§
|
|
||||||
13§ 16§
|
|
||||||
6§ 11§
|
|
||||||
14§ 15","10§ 13§
|
|
||||||
14§ 1§ 7§
|
|
||||||
12§ 15§
|
|
||||||
16","11§ 14§
|
|
||||||
15§ 2§ 8§
|
|
||||||
13§ 16§ 1","12§ 15§
|
|
||||||
16§ 3§ 9§
|
|
||||||
14§ 1§ 2","13§ 16§
|
|
||||||
1§ 4§ 10§
|
|
||||||
15§ 2§ 3","14§ 1§ 2§
|
|
||||||
5§ 11§
|
|
||||||
16§ 3§ 4","15§ 2§ 3§
|
|
||||||
6§ 12§ 1§
|
|
||||||
4§ 5","16§ 3§ 4§
|
|
||||||
7§ 13§ 2§
|
|
||||||
5§ 6","1§ 4§ 5§
|
|
||||||
8§ 14§ 3§
|
|
||||||
6§ 7","2§ 5§ 6§
|
|
||||||
9§ 15§ 4§
|
|
||||||
7§ 8","3§ 6§ 7§
|
|
||||||
10§ 16§
|
|
||||||
5§ 8§ 9"
|
|
|
|
@ -0,0 +1,73 @@
|
||||||
|
;Semaine;;;;;;;18;19;20;21;22;23
|
||||||
|
;;;;;;;;26/02/24;04/03/24;11/03/24;18/03/24;25/03/24;01/04/24
|
||||||
|
type;matière;jour;heure;durée;colleur;récurrent (semaines);salle;;;;;;
|
||||||
|
;;;;;;;;;;;;;
|
||||||
|
colle;Mathématiques;vendredi;17h;1h;M. OUBAHA;;C382;2;3;4;5;6;7
|
||||||
|
colle;Anglais;mercredi;14h;1h;Mme. LE GOURIELLEC;;C393;2;3;4;1;2;3
|
||||||
|
colle;Mathématiques;mercredi;15h;1h;M. BOULLY;;R004;3;4;5;6;7;8
|
||||||
|
colle;Physique;mardi;14h;1h;Mme. CHEVALIER;;R103;9;4;5;6;7;8
|
||||||
|
colle;Mathématiques;mardi;18h;1h;M. RAPIN;;V152;4;5;6;7;8;9
|
||||||
|
colle;Anglais;mardi;14h;1h;Mme. BELAGOUNE;;C454;14;15;6;7;8;9
|
||||||
|
;pas de colle;;;;;;;5;6;7;8;9;10
|
||||||
|
colle;Physique;mardi;17h;1h;M. COLIN;;C386;5;6;7;8;9;10
|
||||||
|
colle;Mathématiques;mercredi;13h30;1h;M. BOUVEROT;;;6;7;8;9;10;11
|
||||||
|
colle;Anglais;lundi;13h;1h;M. HERBAUT;;V052;6;7;8;9;10;11
|
||||||
|
colle;Mathématiques;mardi;14h;1h;Mme. MULLAERT;;M070;7;8;9;10;11;12
|
||||||
|
colle;Physique;mercredi;17h;1h;M. POUPY;;R012;7;8;9;10;11;12
|
||||||
|
;pas de colle;;;;;;;;;;;;
|
||||||
|
colle;Anglais;mercredi;16h;1h;Mme. MANN;;C380;8;9;10;11;12;13
|
||||||
|
;pas de colle;;;;;;;9;10;11;12;13;14
|
||||||
|
colle;Physique;mardi;17h;1h;Mme. CHEVALIER;;R103;3;10;1;2;3;14
|
||||||
|
colle;Mathématiques;mercredi;13h;1h;M. CARPINTERO;;V152;10;11;12;13;14;15
|
||||||
|
colle;Anglais;mercredi;15h;1h;Mme. LE GOURIELLEC;;C393;10;11;12;13;14;1
|
||||||
|
colle;Mathématiques;mercredi;14h30;1h;M. BOUVEROT;;;11;12;13;14;15;13
|
||||||
|
colle;Physique;jeudi;18h;1h;M. DE ROUX;;C054;11;12;13;14;15;
|
||||||
|
colle;Mathématiques;vendredi;18h;1h;M. OUBAHA;;C382;12;13;14;15;12;1
|
||||||
|
colle;Anglais;jeudi;15h;1h;Mme. BELAGOUNE;;C386;12;13;14;15;;15
|
||||||
|
;pas de colle;;;;;;;13;14;15;11;1;2
|
||||||
|
colle;Physique;vendredi;16h;1h;Mme. CHIBANI;;C284;13;14;15;;1;2
|
||||||
|
colle;Mathématiques;mercredi;14h;1h;M. BOULLY;;R004;14;15;10;1;2;3
|
||||||
|
colle;Anglais;jeudi;14h;1h;Mme. BELAGOUNE;;C386;4;5;;5;6;7
|
||||||
|
colle;Mathématiques;jeudi;18h;1h;M. RAPIN;;C284;15;9;1;2;3;4
|
||||||
|
colle;Physique;lundi;12h;1h;Mme. CHEVALIER;;R105;15;;11;12;13;4
|
||||||
|
colle;Mathématiques;mercredi;14h;1h;M. CARPINTERO;;V152;8;1;2;3;4;5
|
||||||
|
colle;Anglais;mercredi;17h;1h;Mme. MANN;;C380;;1;2;3;4;5
|
||||||
|
;pas de colle;;;;;;;1;2;3;4;5;6
|
||||||
|
colle;Physique;mercredi;18h;1h;M. POUPY;;R012;1;2;3;4;5;6
|
||||||
|
colle;Informatique;lundi;12h;1h;M. JOSPIN;;;13;4;9;6;11;7
|
||||||
|
colle;Informatique;lundi;13h;1h;M. JOSPIN;;;14;8;15;5;13;8
|
||||||
|
colle;TP Info;mercredi;14h;2h;;;;5,12,15;10,9,13;11,6,14;4,7,8;5,9,10;6,15,12
|
||||||
|
colle;TP Info;mercredi;16h;2h;;;;6,11,9;7,14,10;4,5,8;12,13,15;;
|
||||||
|
;;;;;;;;;;;;;
|
||||||
|
cours;TP Physique;lundi;8h30;1h30;Mme CHEVALIER;1;R417;gr 9 à 15;gr 9 à 15;gr 9 à 15;gr 9 à 15;gr 9 à 15;gr 9 à 15
|
||||||
|
cours;TP Physique;lundi;10h;1h30;Mme CHEVALIER;1;R417;gr 1 à 8;gr 1 à 8;gr 1 à 8;gr 1 à 8;gr 1 à 8;gr 1 à 8
|
||||||
|
cours;TP Info;lundi;10h;1h30;M. HALFON;1;C154;gr 9 à 15;gr 9 à 15;gr 9 à 15;gr 9 à 15;gr 9 à 15;gr 9 à 15
|
||||||
|
cours;TP Info;lundi;8h30;1h30;M. HALFON;1;C154;gr 4 à 8;gr 4 à 8;gr 4 à 8;gr 4 à 8;gr 4 à 8;gr 4 à 8
|
||||||
|
cours;TD Maths;vendredi;11h;2h;Mme MULLAERT;2;M103;B+2+3;A+1;B+2+3;A+1;B+2+3;A+1
|
||||||
|
cours;TD Maths;vendredi;14h;2h;Mme MULLAERT;2;M103;A+1;B+2+3;A+1;B+2+3;A+1;B+2+3
|
||||||
|
cours;TP Info;vendredi;14h;2h;M. HALFON;2;;B;A;B;A;B;A
|
||||||
|
cours;TP Info;vendredi;11h;2h;M. HALFON;2;;A;B;A;B;A;B
|
||||||
|
cours;TD Physique;jeudi;14h;1h;Mme CHEVALIER;1;R011;gr 9 à 15;gr 9 à 15;gr 9 à 15;gr 9 à 15;gr 9 à 15;gr 9 à 15
|
||||||
|
cours;TD Physique;jeudi;15h;1h;Mme CHEVALIER;1;R011;gr 1 à 8;gr 1 à 8;gr 1 à 8;gr 1 à 8;gr 1 à 8;gr 1 à 8
|
||||||
|
cours;Info;jeudi;10h;3h;M. HALFON;1;;A+B;;;;;
|
||||||
|
cours ;Chimie;jeudi;10h;2h;Mme CHEVALIER;1;R101;SI;;;;;
|
||||||
|
cours;TIPE Physique;jeudi;12h;0h30;Mme CHEVALIER;1;R101;SI;;;;;
|
||||||
|
cours;TP ITC ;jeudi;13h30;1h30;M. HALFON;1;;SI;;;;;
|
||||||
|
cours;TP SI;lundi;8h;2h;M. DERUMAUX;1;;SI;;;;;
|
||||||
|
cours;TIPE Physique;lundi;11h30;0h30;Mme CHEVALIER;1;;SI;;;;;
|
||||||
|
cours;SI;lundi;12h;1h;M. DERUMAUX;1;;SI;;;;;
|
||||||
|
cours;SI;mardi;14h;1h;M. DERUMAUX;1;;SI;;;;;
|
||||||
|
cours ;Maths;lundi;14h;4h;Mme MULLAERT;1;M103;A+B+SI;;;;;
|
||||||
|
cours;Maths;mardi;8h;3h;Mme MULLAERT;1;M103;A+B+SI;;;;;
|
||||||
|
cours;Physique;mardi;15h;2h;Mme CHEVALIER;1;R013;A+B+SI;;;;;
|
||||||
|
cours ;Français-Philo;mercredi;10h;2h;Mme CHAPIRO;1;M103;A+B+SI;;;;;
|
||||||
|
cours;Physique;jeudi;8h;2h;Mme CHEVALIER;1;R101;A+B+SI;;;;;
|
||||||
|
cours;EPS;jeudi;16h;2h;M. TORRES-LACAZE;1;Gymnase;A+B+SI;;;;;
|
||||||
|
cours;Maths;vendredi;8h;3h;Mme MULLAERT;1;M103;A+B+SI;;;;;
|
||||||
|
;;;;;;;;;;;;;
|
||||||
|
cours;Anglais LV1;mardi;11h;2h;;1;;;;;;;
|
||||||
|
cours;Anglais LV2;mardi ;11h;1h30;;1;;;;;;;
|
||||||
|
cours;Espagnol LV1;mercredi;8h;2h;;1;;;;;;;
|
||||||
|
cours;Espagnol LV1;mercredi;8h30;1h30;;1;;;;;;;
|
||||||
|
cours;Allemand LV1 ;mercredi;8h;2h;;1;;;;;;;
|
||||||
|
cours;Allemand LV2;mercredi;8h30;1h30;;1;;;;;;;
|
|
Binary file not shown.
|
@ -0,0 +1,46 @@
|
||||||
|
Nom;Prénon;Groupe de colle;TD
|
||||||
|
ABOUJAIB;Alexandre;4;A
|
||||||
|
AJAN;George;4;A
|
||||||
|
AKRAD;Lina;1;SI
|
||||||
|
AUBERT;Nicolas;1;SI
|
||||||
|
BADR;Roman;4;A
|
||||||
|
BAZIRE;Aurélien;5;A
|
||||||
|
BOIT;Arthur;5;A
|
||||||
|
BOUBKER;Youssef;5;A
|
||||||
|
BOUDJEMA;Dylan;1;SI
|
||||||
|
CHIRIAC;Mihnea;6;A
|
||||||
|
COURIER;Marine;6;A
|
||||||
|
DAGUIN;Joseph;6;A
|
||||||
|
DAUGUEN;Gabriel;7;A
|
||||||
|
DE WEER;Matthias;7;A
|
||||||
|
DESBOUIS;Katell;2;SI
|
||||||
|
DUPOUY;Jérémie;7;A
|
||||||
|
HARIRI--GAUTIER-PICARD;Grégoire;8;A
|
||||||
|
JURICEVIC;Matteo;8;A
|
||||||
|
KNANOUA;Anas;8;A
|
||||||
|
LESENNE;Pierrick;9;A
|
||||||
|
LIN;Hao;2;SI
|
||||||
|
MASBATIN;Lucas;2;SI
|
||||||
|
MAYURAN;Mithushan;9;A
|
||||||
|
MESSAHLI;Yassine;9;A
|
||||||
|
MOGUÉROU;Valentin;10;B
|
||||||
|
MOHELLEBI;Mathéo;10;B
|
||||||
|
MOUISSET--FERRARA;Maël;10;B
|
||||||
|
OTTAVI;Corentin;11;B
|
||||||
|
PONCE;Alexian;11;B
|
||||||
|
PUJOL;Raphaël;11;B
|
||||||
|
PUSTETTO;Mathis;12;B
|
||||||
|
RADICE;Roman;12;B
|
||||||
|
RAT;Evelyn;12;B
|
||||||
|
ROUSSE;Louis;3;SI
|
||||||
|
ROUX;Gaetan;3;SI
|
||||||
|
ROUYRE--CROS;Célian;3;SI
|
||||||
|
SOURBE;François-Gabriel;13;B
|
||||||
|
STOURBE;Simon;13;B
|
||||||
|
THAI;Dany;13;B
|
||||||
|
THÉODORE;Jonathan;14;B
|
||||||
|
VANDROUX;Benoit;14;B
|
||||||
|
VEYSSIERE;Thibaud;14;B
|
||||||
|
VIÉ;Adrien;15;B
|
||||||
|
YE;Luan;15;B
|
||||||
|
ZARKA;Amélie;15;B
|
|
|
@ -1,46 +0,0 @@
|
||||||
Nom,Prénon,Groupe de coll,TD
|
|
||||||
ABOUJAIB,Alexandre,1,A
|
|
||||||
AJAN,George,1,A
|
|
||||||
AKRAD,Lina,5,A
|
|
||||||
AUBERT,Nicolas,3,A
|
|
||||||
BADR,Roman,3,A
|
|
||||||
BAZIRE,Aurélien,3,A
|
|
||||||
BOIT,Arthur,5,A
|
|
||||||
BOUBKER,Youssef,5,A
|
|
||||||
BOUDJEMA,Dylan,1,A
|
|
||||||
CHIRIAC,Minhea,7,A
|
|
||||||
COURIER,Marine,7,A
|
|
||||||
DAGUIN,Joseph,7,A
|
|
||||||
DAUGUEN,Gabriel,9,A
|
|
||||||
DE WEER,Matthias,9,A
|
|
||||||
DESBOUIS,Katell,11,A
|
|
||||||
DUPOUY,Jérémie,11,A
|
|
||||||
HARIRI--GAUTIER-PICARD,Grégoire,11,A
|
|
||||||
JURICEVIC,Matteo,13,A
|
|
||||||
KNANOUA,Anas,13,A
|
|
||||||
LESENNE,Pierrick,13,A
|
|
||||||
LIN,Hao,9,A
|
|
||||||
MASBATIN,Lucas,15,A
|
|
||||||
MAYURAN,Mithushan,15,A
|
|
||||||
MESSAHLI,Yassine,2,B
|
|
||||||
MOGUÉROU,Valentin,2,B
|
|
||||||
MOHELLEBI,Mathéo,2,B
|
|
||||||
MOUISSET--FERRARA,Maël,4,B
|
|
||||||
OTTAVI,Corentin,4,B
|
|
||||||
PONCE,Alexian,4,B
|
|
||||||
PUJOL,Raphaël,6,B
|
|
||||||
PUSTETTO,Mathis,6,B
|
|
||||||
RADICE,Roman,6,B
|
|
||||||
RAT,Evelyn,8,B
|
|
||||||
ROUSSE,Louis,8,B
|
|
||||||
ROUX,Gaetan,8,B
|
|
||||||
ROUYRE--CROS,Célian,10,B
|
|
||||||
SOURBE,François-G,10,B
|
|
||||||
STOURBE,Simon,10,B
|
|
||||||
THAI,Dany,12,B
|
|
||||||
THÉODORE,Jonathan,12,B
|
|
||||||
VANDROUX,Benoit,12,B
|
|
||||||
VEYSSIERE,Thibaud,14,B
|
|
||||||
VIÉ,Adrien,14,B
|
|
||||||
YE,Luan,14,B
|
|
||||||
ZARKA,Amélie,15,A
|
|
|
|
@ -0,0 +1,106 @@
|
||||||
|
"""
|
||||||
|
Objectif: déterminer les collisions dans un fichier .ics généré, afin de pouvoir
|
||||||
|
'valider' un colloscope. Pour cela, ce programme génère les colloscopes associés
|
||||||
|
à chaque groupe de colle puis regarde s'il y a collision entre les évènements
|
||||||
|
en faisant partie.
|
||||||
|
"""
|
||||||
|
|
||||||
|
from typing import List
|
||||||
|
|
||||||
|
from attr import dataclass
|
||||||
|
import icalendar
|
||||||
|
import datetime
|
||||||
|
from dateutil import rrule # https://dateutil.readthedocs.io/en/stable/rrule.html
|
||||||
|
import recurring_ical_events
|
||||||
|
from io import BytesIO
|
||||||
|
|
||||||
|
import create_calendar
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class DatesEvent:
|
||||||
|
nom: str
|
||||||
|
start: datetime.date
|
||||||
|
end: datetime.date
|
||||||
|
|
||||||
|
|
||||||
|
def recurring_events_to_events(cal: icalendar.Calendar) -> DatesEvent:
|
||||||
|
at_date = 2024
|
||||||
|
events = recurring_ical_events.of(cal).at(at_date)
|
||||||
|
return events
|
||||||
|
|
||||||
|
def ical_to_dates(events: List[icalendar.Event]) -> DatesEvent:
|
||||||
|
"""
|
||||||
|
Renvoie la liste de dates et de durées de l'ensemble des évènements (SANS EVENEMENTS RECURSIFS, ecurring_events_to_events s'en étant déjà occupé !)
|
||||||
|
"""
|
||||||
|
output = []
|
||||||
|
|
||||||
|
for event in events:
|
||||||
|
if not event.get("RRULE"):
|
||||||
|
new_event = DatesEvent(
|
||||||
|
nom=str(event.get("SUMMARY")) + " - " + str(event.get("DESCRIPTION")),
|
||||||
|
start=event.get("DTSTART").dt,
|
||||||
|
end=event.get("DTEND").dt
|
||||||
|
)
|
||||||
|
|
||||||
|
output.append(new_event)
|
||||||
|
|
||||||
|
return output
|
||||||
|
|
||||||
|
|
||||||
|
def check_dates_collision(start1: datetime.date, start2: datetime.date, end1: datetime.timedelta, end2: datetime.timedelta):
|
||||||
|
if start1 <= start2:
|
||||||
|
if start2 < end1:
|
||||||
|
return True
|
||||||
|
elif start1 <= start2:
|
||||||
|
# cas où dt1 commence après dt2 mais avant dt2+td2
|
||||||
|
if end2 > end2:
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
def check_collisions(dates: DatesEvent):
|
||||||
|
"""
|
||||||
|
Fonction qui réalise réellement le check.
|
||||||
|
Itère brutalement sur toutes les dates, par souci d'efficacité d'écriture de code,
|
||||||
|
et surtout parce que ça marche !
|
||||||
|
"""
|
||||||
|
for date_event1 in dates:
|
||||||
|
for date_event2 in dates:
|
||||||
|
if date_event1.nom != date_event2.nom:
|
||||||
|
if check_dates_collision(date_event1.start, date_event2.start, date_event1.end, date_event2.end):
|
||||||
|
print(
|
||||||
|
f"""
|
||||||
|
----
|
||||||
|
Colision entre {date_event1.nom} et {date_event2.nom}
|
||||||
|
{date_event1.nom}: {date_event1.start.strftime('%d-%m-%Y: %H:%M')} à {date_event1.end.strftime('%d-%m-%Y: %H:%M')}
|
||||||
|
{date_event2.nom}: {date_event2.start.strftime('%d-%m-%Y: %H:%M')} à {date_event2.end.strftime('%d-%m-%Y: %H:%M')}""")
|
||||||
|
|
||||||
|
|
||||||
|
def generate_calendars():
|
||||||
|
for groupe in range(1, 16):
|
||||||
|
|
||||||
|
print(
|
||||||
|
f"""
|
||||||
|
┌──────────────────────────
|
||||||
|
│
|
||||||
|
│ GROUPE {groupe}
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
|
||||||
|
generated_ical = create_calendar.get_calendar(str(groupe), "EN")[0]
|
||||||
|
|
||||||
|
generated_ical = icalendar.Calendar.from_ical(generated_ical)
|
||||||
|
|
||||||
|
|
||||||
|
events = list(generated_ical.walk("VEVENT"))
|
||||||
|
events += recurring_events_to_events(generated_ical)
|
||||||
|
|
||||||
|
check_collisions(ical_to_dates(events))
|
||||||
|
|
||||||
|
print(
|
||||||
|
f"""
|
||||||
|
│
|
||||||
|
└──────────────────────────
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
|
||||||
|
generate_calendars()
|
|
@ -1,7 +1,8 @@
|
||||||
import discord
|
import discord
|
||||||
from discord import app_commands
|
from discord import app_commands, Interaction
|
||||||
from discord.app_commands import Choice
|
from discord.app_commands import Choice
|
||||||
from discord.ext import commands
|
from discord.ext import commands
|
||||||
|
from typing import cast
|
||||||
|
|
||||||
from classes.my_cog import MyCog
|
from classes.my_cog import MyCog
|
||||||
|
|
||||||
|
@ -11,6 +12,10 @@ class CogGroup(app_commands.Group, name="cog", description="Gérer les cogs"):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.bot = bot
|
self.bot = bot
|
||||||
|
|
||||||
|
async def interaction_check(self, interaction: Interaction, /) -> bool:
|
||||||
|
team = cast(discord.Team, self.bot.application.team)
|
||||||
|
return any(interaction.user.id == team_member.id for team_member in team.members)
|
||||||
|
|
||||||
@app_commands.command(name="load")
|
@app_commands.command(name="load")
|
||||||
async def cog_load(self, interaction: discord.Interaction, extension: str):
|
async def cog_load(self, interaction: discord.Interaction, extension: str):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -5,14 +5,13 @@ from discord.ext import commands
|
||||||
|
|
||||||
|
|
||||||
from classes.my_cog import MyCog
|
from classes.my_cog import MyCog
|
||||||
from create_calendar import get_calendar, get_eleves, display
|
from create_calendar import get_calendar, display
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
|
|
||||||
|
|
||||||
class EDT(MyCog):
|
class EDT(MyCog):
|
||||||
def __init__(self, bot):
|
def __init__(self, bot):
|
||||||
super().__init__(bot)
|
super().__init__(bot)
|
||||||
self.eleves = get_eleves()
|
|
||||||
self.bot = bot
|
self.bot = bot
|
||||||
|
|
||||||
@app_commands.command(name="edt")
|
@app_commands.command(name="edt")
|
||||||
|
|
|
@ -6,10 +6,10 @@ from pathlib import Path
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
pd_eleves = pandas.read_csv('Resources/eleves.csv')
|
pd_eleves = pandas.read_csv('Resources/eleves-v2.csv', delimiter=";", header=None)
|
||||||
np_eleves = pd_eleves.to_numpy()
|
np_eleves = pd_eleves.to_numpy()
|
||||||
|
|
||||||
pd_colles = pandas.read_csv('Resources/colles.csv')
|
pd_colles = pandas.read_csv('Resources/colloscope-v2.csv', delimiter=";", header=None)
|
||||||
np_colles = pd_colles.to_numpy()
|
np_colles = pd_colles.to_numpy()
|
||||||
|
|
||||||
local_tz = "Europe/Paris"
|
local_tz = "Europe/Paris"
|
||||||
|
@ -22,6 +22,15 @@ jour_to_delta = {
|
||||||
"vendredi": 4,
|
"vendredi": 4,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
jour_to_byday = {
|
||||||
|
"lundi": "MO",
|
||||||
|
"mardi": "TU",
|
||||||
|
"mercredi": "WE",
|
||||||
|
"jeudi": "TH",
|
||||||
|
"vendredi": "FR",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
langues = ["Anglais", "Allemand", "Espagnol"]
|
langues = ["Anglais", "Allemand", "Espagnol"]
|
||||||
|
|
||||||
option_langues = {
|
option_langues = {
|
||||||
|
@ -61,14 +70,14 @@ def add_events_from_ics(filename: str, new_cal: icalendar.Calendar):
|
||||||
return new_cal
|
return new_cal
|
||||||
|
|
||||||
|
|
||||||
def get_eleves():
|
def get_td_groupe(groupe: str) -> str:
|
||||||
"""
|
"""
|
||||||
Renvoie la liste des eleves avec leur groupe associés à leur groupe, a utiliser dans la /cmd
|
Renvoie le groupe de TD d'un groupe de colle (A, B ou SI)
|
||||||
"""
|
"""
|
||||||
liste = {}
|
|
||||||
for row in np_eleves[1:]:
|
for row in np_eleves[1:]:
|
||||||
liste[f"{row[0]} {row[1]} - {row[2]}"] = row[2]
|
if row[2] == groupe:
|
||||||
return liste
|
return row[3]
|
||||||
|
|
||||||
|
|
||||||
def debut_semaine_to_datetime(date_string: str) -> datetime.time:
|
def debut_semaine_to_datetime(date_string: str) -> datetime.time:
|
||||||
"""
|
"""
|
||||||
|
@ -77,6 +86,49 @@ def debut_semaine_to_datetime(date_string: str) -> datetime.time:
|
||||||
return datetime.datetime.strptime(date_string, "%d/%m/%y")
|
return datetime.datetime.strptime(date_string, "%d/%m/%y")
|
||||||
|
|
||||||
|
|
||||||
|
def heure_to_timedelta(heure: str) -> datetime.timedelta:
|
||||||
|
"""
|
||||||
|
Transforme une heure au format "8h30" ou "1h30" ou "2h" en timedelta.
|
||||||
|
"""
|
||||||
|
heure = heure.split("h")
|
||||||
|
delta = datetime.timedelta(hours=int(heure[0]))
|
||||||
|
|
||||||
|
if heure[1] != '':
|
||||||
|
delta += datetime.timedelta(minutes=int(heure[1]))
|
||||||
|
|
||||||
|
return delta
|
||||||
|
|
||||||
|
def creer_evenement(titre: str, debut: datetime.datetime, duree: datetime.timedelta, description: str = None, localisation: str = None, rrule: str = None) -> icalendar.Event:
|
||||||
|
"""
|
||||||
|
Renvoie un évènement icalendar.Event()
|
||||||
|
|
||||||
|
titre str: le titre de l'évènement
|
||||||
|
debut datetime.datetime: la date de début
|
||||||
|
duree datetime.timedelta: la durée
|
||||||
|
description str: la description (Optionelle)
|
||||||
|
localisation str: localisation (Optionelle)
|
||||||
|
rrule str: règle de récurrence https://icalendar.org/iCalendar-RFC-5545/3-8-5-3-recurrence-rule.html (Optionelle)
|
||||||
|
"""
|
||||||
|
new_event = icalendar.Event()
|
||||||
|
new_event.add("summary", titre)
|
||||||
|
new_event.add("dtstart", debut, parameters={"tzid": local_tz})
|
||||||
|
debut += duree
|
||||||
|
new_event.add("dtend", debut, parameters={"tzid": local_tz})
|
||||||
|
|
||||||
|
if localisation is not None:
|
||||||
|
new_event.add("location", localisation)
|
||||||
|
if description is not None:
|
||||||
|
new_event.add("description", description)
|
||||||
|
if rrule is not None:
|
||||||
|
new_event.add("rrule", rrule)
|
||||||
|
|
||||||
|
new_event.add("uid", str(uuid.uuid4()))
|
||||||
|
new_event.add("dtstamp", datetime.datetime.now())
|
||||||
|
|
||||||
|
# nécessaire pour se conformer à la norme RFC 5545
|
||||||
|
|
||||||
|
return new_event
|
||||||
|
|
||||||
def get_colles_groupe(np_colles, groupe, option_langue):
|
def get_colles_groupe(np_colles, groupe, option_langue):
|
||||||
"""
|
"""
|
||||||
Renvoie les colles pour un groupe sous la forme d'une liste d'évènements ICS
|
Renvoie les colles pour un groupe sous la forme d'une liste d'évènements ICS
|
||||||
|
@ -86,47 +138,56 @@ def get_colles_groupe(np_colles, groupe, option_langue):
|
||||||
option_langue: str, les options de langue
|
option_langue: str, les options de langue
|
||||||
"""
|
"""
|
||||||
liste_colles = []
|
liste_colles = []
|
||||||
for row in np_colles[1:]:
|
for row in np_colles[4:40]:
|
||||||
|
if pandas.isnull(row[1]) or row[1] == "pas de colle":
|
||||||
if pandas.isnull(row[0]) or row[0] == "pas de colle":
|
|
||||||
# il n'y a pas de colle, on skip !
|
# il n'y a pas de colle, on skip !
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
|
||||||
# Si la colle n'est pas la LV1 de l'élève, on skip
|
# Si la colle n'est pas la LV1 de l'élève, on skip
|
||||||
if row[0] == "Anglais" and not option_langue.startswith("EN"):
|
if row[1] == "Anglais" and not option_langue.startswith("EN"):
|
||||||
continue
|
continue
|
||||||
elif row[0] == "Allemand" and not option_langue.startswith("DE"):
|
elif row[1] == "Allemand" and not option_langue.startswith("DE"):
|
||||||
continue
|
continue
|
||||||
elif row[0] == "Espagnol" and not option_langue.startswith("ES"):
|
elif row[1] == "Espagnol" and not option_langue.startswith("ES"):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
for index, colle in enumerate(row[5:]):
|
for index, colle in enumerate(row[8:]):
|
||||||
# les quatre premières cases ne sont pas
|
if pandas.isnull(colle):
|
||||||
if pandas.isnull(colle) or colle != groupe:
|
|
||||||
continue
|
continue
|
||||||
|
# les huit premières cases ne sont pas concernées
|
||||||
|
|
||||||
new_colle = icalendar.Event()
|
if "," in list(colle):
|
||||||
new_colle.add("summary", f"Colle {row[0]}")
|
if groupe not in colle.split(","):
|
||||||
new_colle.add("description", f"{row[3]}")
|
continue
|
||||||
new_colle.add("location", row[4])
|
elif colle != groupe:
|
||||||
|
continue
|
||||||
|
# dans le cas où plusieurs groupes de colles soient concernés
|
||||||
|
|
||||||
new_colle.add("dtstamp", datetime.datetime.now())
|
duree = heure_to_timedelta(row[4])
|
||||||
|
# transforme la durée en timedelta
|
||||||
|
|
||||||
new_colle.add("uid", str(uuid.uuid4()))
|
date = debut_semaine_to_datetime(np_colles[1][index+8])
|
||||||
date = debut_semaine_to_datetime(np_colles[0][index+5])
|
|
||||||
date += datetime.timedelta(days=jour_to_delta[row[1]])
|
|
||||||
date += datetime.timedelta(hours=int(row[2][:-1]))
|
|
||||||
new_colle.add("dtstart", date, parameters={"tzid": local_tz})
|
|
||||||
|
|
||||||
date += datetime.timedelta(hours=1)
|
date += datetime.timedelta(days=jour_to_delta[row[2]])
|
||||||
new_colle.add("dtend", date, parameters={"tzid": local_tz})
|
date += heure_to_timedelta(row[3])
|
||||||
|
# génère la date à partir de la semaine, du jour et de l'heure
|
||||||
|
|
||||||
|
localisation = row[7] if not pandas.isnull(row[7]) else None
|
||||||
|
|
||||||
|
new_colle = creer_evenement(
|
||||||
|
titre=f"Colle {row[1]}",
|
||||||
|
description=f"{row[5]}" if not pandas.isnull(row[5]) else None,
|
||||||
|
localisation=localisation,
|
||||||
|
debut=date,
|
||||||
|
duree=duree
|
||||||
|
)
|
||||||
|
|
||||||
liste_colles.append(new_colle)
|
liste_colles.append(new_colle)
|
||||||
|
|
||||||
return liste_colles
|
return liste_colles
|
||||||
|
|
||||||
def get_cours_SI(np_colles, groupe):
|
def get_cours(np_colles, groupe):
|
||||||
"""
|
"""
|
||||||
Renvoie les colles pour un groupe sous la forme d'une liste d'évènements ICS, cad
|
Renvoie les colles pour un groupe sous la forme d'une liste d'évènements ICS, cad
|
||||||
icalendar.Event
|
icalendar.Event
|
||||||
|
@ -134,58 +195,120 @@ def get_cours_SI(np_colles, groupe):
|
||||||
np_colles: l'array 2D numpy contenant le colloscope
|
np_colles: l'array 2D numpy contenant le colloscope
|
||||||
groupe: str, le numéro du groupe
|
groupe: str, le numéro du groupe
|
||||||
"""
|
"""
|
||||||
liste_cours = []
|
listes_cours = []
|
||||||
for index, cell in enumerate(np_colles[-1][5:]):
|
groupe_td = get_td_groupe(groupe)
|
||||||
heure = 17
|
|
||||||
groupes = cell.split("§")
|
|
||||||
if groupe in groupes or f"\n{groupe}" in groupes:
|
|
||||||
heure = 16
|
|
||||||
|
|
||||||
cours_si = icalendar.Event()
|
for row in np_colles[41:66]:
|
||||||
cours_si.add("summary", "TD SI")
|
|
||||||
cours_si.add("description", "M. Derumeaux R415")
|
|
||||||
cours_si.add("dtstamp", datetime.datetime.now())
|
|
||||||
cours_si.add("uid", str(uuid.uuid4()))
|
|
||||||
|
|
||||||
date = debut_semaine_to_datetime(np_colles[0][index+5])
|
if pandas.isnull(row[1]):
|
||||||
date += datetime.timedelta(days=jour_to_delta["mardi"])
|
continue
|
||||||
date += datetime.timedelta(hours=heure)
|
|
||||||
cours_si.add("dtstart", date, parameters={"tzid": local_tz})
|
|
||||||
|
|
||||||
date += datetime.timedelta(hours=1)
|
first_date = np_colles[1][8]
|
||||||
cours_si.add("dtend", date, parameters={"tzid": local_tz})
|
|
||||||
liste_cours.append(cours_si)
|
eleves = row[8]
|
||||||
|
|
||||||
|
|
||||||
return liste_cours
|
|
||||||
|
if "à" in list(eleves):
|
||||||
|
|
||||||
|
eleves = eleves.split(" ")
|
||||||
|
debut, fin = [grp for grp in eleves if grp.isdigit()]
|
||||||
|
|
||||||
|
if not int(debut) <= int(groupe) <= int(fin):
|
||||||
|
continue
|
||||||
|
|
||||||
|
elif "+" in list(eleves):
|
||||||
|
eleves = eleves.split("+")
|
||||||
|
|
||||||
|
if groupe not in [grp for grp in eleves if grp.isdigit()]:
|
||||||
|
|
||||||
|
if groupe_td not in [grp for grp in eleves]:
|
||||||
|
if int(row[6]) > 1:
|
||||||
|
if groupe in [grp for grp in row[9].split("+") if grp.isdigit()]:
|
||||||
|
first_date = np_colles[1][9]
|
||||||
|
elif groupe_td in [grp for grp in row[9].split("+")]:
|
||||||
|
first_date = np_colles[1][9]
|
||||||
|
else:
|
||||||
|
|
||||||
|
continue
|
||||||
|
|
||||||
|
else:
|
||||||
|
continue
|
||||||
|
|
||||||
|
# si la 1ère occurence du cours est la 1ère ou la 2e semaine
|
||||||
|
|
||||||
|
|
||||||
|
elif groupe != eleves and groupe_td != eleves:
|
||||||
|
if pandas.isnull(row[9]) or (groupe != row[9] and groupe_td != row[9]):
|
||||||
|
continue
|
||||||
|
else:
|
||||||
|
first_date = np_colles[1][9]
|
||||||
|
|
||||||
|
# vérification que le groupe est concerné par le cours
|
||||||
|
|
||||||
|
first_date = debut_semaine_to_datetime(first_date)
|
||||||
|
|
||||||
|
first_date += heure_to_timedelta(row[3])
|
||||||
|
first_date += datetime.timedelta(days=jour_to_delta[row[2]])
|
||||||
|
|
||||||
|
duree = heure_to_timedelta(row[4])
|
||||||
|
|
||||||
|
localisation = row[7] if not pandas.isnull(row[7]) else None
|
||||||
|
|
||||||
|
last_date = debut_semaine_to_datetime(np_colles[1][-1]) + datetime.timedelta(days=5)
|
||||||
|
|
||||||
|
rrule = {"FREQ": "WEEKLY", "UNTIL": last_date, "INTERVAL": row[6], "BYDAY": jour_to_byday[row[2]], "WKST": "MO"}
|
||||||
|
|
||||||
|
new_cours = creer_evenement(
|
||||||
|
titre=row[1],
|
||||||
|
description=row[5],
|
||||||
|
localisation=localisation,
|
||||||
|
debut=first_date,
|
||||||
|
duree=duree,
|
||||||
|
rrule=rrule
|
||||||
|
)
|
||||||
|
|
||||||
|
listes_cours.append(new_cours)
|
||||||
|
|
||||||
|
return listes_cours
|
||||||
|
|
||||||
def get_langues(langues):
|
def get_langues(langues):
|
||||||
"""
|
"""
|
||||||
Renvoie la liste de cours de langue associés
|
Renvoie la liste de cours de langue associés sous forme de list[icalendar.Event]
|
||||||
list[icalendar.Event]
|
|
||||||
"""
|
"""
|
||||||
liste_langues = []
|
liste_cours = []
|
||||||
p = Path(__file__).with_name('Resources')
|
langues = option_langues[langues]
|
||||||
p = Path(p, f"EDT_Langues.ics")
|
|
||||||
with p.open('r') as f:
|
|
||||||
opened_cal = icalendar.Calendar.from_ical(f.read())
|
|
||||||
|
|
||||||
for event in opened_cal.walk("vevent"):
|
for row in np_colles[67:]:
|
||||||
if event.get("summary") in option_langues[langues]:
|
|
||||||
liste_langues.append(event)
|
|
||||||
|
|
||||||
return liste_langues
|
if row[1] in langues:
|
||||||
|
|
||||||
|
debut = debut_semaine_to_datetime(np_colles[1][8])
|
||||||
|
debut += heure_to_timedelta(row[3])
|
||||||
|
debut += datetime.timedelta(days=jour_to_delta[row[2]])
|
||||||
|
|
||||||
|
duree = heure_to_timedelta(row[4])
|
||||||
|
|
||||||
|
last_date = debut_semaine_to_datetime(np_colles[1][-1]) + datetime.timedelta(days=5)
|
||||||
|
|
||||||
|
rrule = {"FREQ": "WEEKLY", "UNTIL": last_date, "INTERVAL": row[6], "BYDAY": jour_to_byday[row[2]], "WKST": "MO"}
|
||||||
|
|
||||||
|
new_cours = creer_evenement(
|
||||||
|
titre=row[1],
|
||||||
|
debut=debut,
|
||||||
|
duree=duree,
|
||||||
|
rrule=rrule
|
||||||
|
)
|
||||||
|
|
||||||
|
liste_cours.append(new_cours)
|
||||||
|
|
||||||
|
return liste_cours
|
||||||
|
|
||||||
|
|
||||||
def get_calendar(groupe, langues, split: bool = False):
|
def get_calendar(groupe: str, langues: str, split: bool = False):
|
||||||
""""
|
""""
|
||||||
Renvoie un calendrier (icalendar.Calendar) pour un groupe avec des langues donné
|
Renvoie un calendrier (icalendar.Calendar) pour un groupe avec des langues donné
|
||||||
"""
|
"""
|
||||||
moitie = None
|
|
||||||
for row in np_eleves[1:]:
|
|
||||||
if row[2] == int(groupe):
|
|
||||||
moitie = row[3]
|
|
||||||
break
|
|
||||||
|
|
||||||
new_cal_edt = open_ics("Base_Calendar.ics")
|
new_cal_edt = open_ics("Base_Calendar.ics")
|
||||||
|
|
||||||
|
@ -193,15 +316,10 @@ def get_calendar(groupe, langues, split: bool = False):
|
||||||
new_cal_colles = open_ics("Base_Calendar.ics")
|
new_cal_colles = open_ics("Base_Calendar.ics")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
new_cal_edt = add_events_from_ics(filename="EDT_Base.ics", new_cal=new_cal_edt)
|
|
||||||
new_cal_edt = add_events_from_ics(filename=f"EDT_{moitie}.ics", new_cal=new_cal_edt)
|
|
||||||
|
|
||||||
|
|
||||||
for event in get_langues(langues):
|
for event in get_langues(langues):
|
||||||
new_cal_edt.add_component(event)
|
new_cal_edt.add_component(event)
|
||||||
|
|
||||||
for event in get_cours_SI(np_colles, groupe):
|
for event in get_cours(np_colles, groupe):
|
||||||
new_cal_edt.add_component(event)
|
new_cal_edt.add_component(event)
|
||||||
|
|
||||||
if split:
|
if split:
|
||||||
|
@ -214,5 +332,4 @@ def get_calendar(groupe, langues, split: bool = False):
|
||||||
new_cal_edt.add_component(event)
|
new_cal_edt.add_component(event)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return [new_cal_edt.to_ical()]
|
return [new_cal_edt.to_ical()]
|
24
main.py
24
main.py
|
@ -1,13 +1,13 @@
|
||||||
from typing import Optional, List
|
|
||||||
from os import getenv, listdir
|
from os import getenv, listdir
|
||||||
import discord
|
import re
|
||||||
|
|
||||||
|
import discord
|
||||||
|
from typing import cast
|
||||||
from discord import app_commands
|
from discord import app_commands
|
||||||
from discord.app_commands import Choice
|
from discord.app_commands import Choice
|
||||||
from discord.ext import commands
|
from discord.ext import commands
|
||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
|
|
||||||
|
|
||||||
load_dotenv()
|
load_dotenv()
|
||||||
|
|
||||||
|
|
||||||
|
@ -16,26 +16,38 @@ class MyClient(commands.Bot):
|
||||||
intents = discord.Intents.none()
|
intents = discord.Intents.none()
|
||||||
intents.guilds = True
|
intents.guilds = True
|
||||||
intents.messages = True
|
intents.messages = True
|
||||||
|
intents.message_content = True
|
||||||
super().__init__(intents=intents, command_prefix=".")
|
super().__init__(intents=intents, command_prefix=".")
|
||||||
|
|
||||||
self.MY_GUILD = discord.Object(id=getenv("GUILD_ID"))
|
self.MY_GUILDS = [discord.Object(id=int(guild_id)) for guild_id in getenv("GUILD_ID").split(',')]
|
||||||
|
|
||||||
self.initial_extensions = ["cogs." + f[:-3] for f in listdir("./cogs") if
|
self.initial_extensions = ["cogs." + f[:-3] for f in listdir("./cogs") if
|
||||||
f.endswith(".py") and f.__str__() != "__init__.py"]
|
f.endswith(".py") and f.__str__() != "__init__.py"]
|
||||||
|
# self.add_listener(self.on_message)
|
||||||
|
|
||||||
async def setup_hook(self):
|
async def setup_hook(self):
|
||||||
# cogs
|
# cogs
|
||||||
for extension in self.initial_extensions:
|
for extension in self.initial_extensions:
|
||||||
await self.load_extension(extension)
|
await self.load_extension(extension)
|
||||||
|
|
||||||
self.tree.copy_global_to(guild=self.MY_GUILD)
|
for guild in self.MY_GUILDS:
|
||||||
await self.tree.sync(guild=self.MY_GUILD)
|
self.tree.copy_global_to(guild=guild)
|
||||||
|
await self.tree.sync(guild=guild)
|
||||||
|
|
||||||
async def on_ready(self):
|
async def on_ready(self):
|
||||||
|
team = cast(discord.Team, self.application.team)
|
||||||
|
|
||||||
print(f'Logged in as {self.user} (ID: {self.user.id})')
|
print(f'Logged in as {self.user} (ID: {self.user.id})')
|
||||||
print(f"Discord version : {discord.__version__}")
|
print(f"Discord version : {discord.__version__}")
|
||||||
|
print(f"Admins : {', '.join([m.name for m in team.members])}")
|
||||||
print('------')
|
print('------')
|
||||||
|
|
||||||
|
async def on_message(self, msg):
|
||||||
|
p = re.compile("[qQ]uoi[ \\.!?;\"»]*$")
|
||||||
|
print(f"{msg!r}")
|
||||||
|
if p.search(msg.content) is not None:
|
||||||
|
await msg.reply("Quoicoubeh !")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
client = MyClient()
|
client = MyClient()
|
||||||
|
|
Loading…
Reference in New Issue