dev #4

Merged
Arthur merged 12 commits from dev into main 2024-06-02 15:04:56 +02:00
16 changed files with 443 additions and 1043 deletions

View File

@ -1,5 +1,5 @@
BEGIN:VCALENDAR
PRODID:-//mp2i-vms//Stackity Bot Inc//EN
PRODID:-//mp2i-vms-[2]-(23-24)-s2//Stackity Bot Inc//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH

Binary file not shown.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"
1 Semaine 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
2 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
3 matière jour heure colleur salle
4
5 Allemand jeudi 18h Mme ADAM C258 9 9 9 9 9 9 9
6 Mathématiques vendredi 15h Mme MULLAERT C181 1 2 3 4 5 6 7 8 9 10 11 12 1 14 15 8
7 Anglais mercredi 14h Mme. LE GOURIELLEC C393 3 2 3 4 5 6 7 8 9 10 11 12 13 14 15
8 Mathématiques vendredi 14h M. BOUVEROT M103 2 3 4 5 6 7 8 9 10 11 12 13 14 15 7 1
9 Physique mardi 16h Mme. CHEVALIER R103 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1
10 Mathématiques vendredi 17h M. OUBAHA C382 3 4 5 6 7 8 9 10 11 12 13 14 15 6 1 2
11 Anglais mardi 16h Mme. BELAGOUNE C454 1 4 5 6 7 8 9 10 11 12 13 14 15 1 2
12 pas de colle 4 5 6 7 8 9 10 11 12 13 14 15 5 1 2 3
13 Physique mardi 17h M. COLIN C386 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3
14 Mathématiques mercredi 15h M. BOULLY R004 5 6 7 8 9 10 11 12 13 14 15 7 13 2 3 4
15 Anglais mardi 16h M. HERBAUT C392 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4
16 Mathématiques mardi 18h M. RAPIN V152 6 7 8 9 10 11 12 13 14 15 3 1 2 3 4 5
17 Physique mercredi 17h M. POUPY R012 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5
18 Mathématiques mardi 17h M. CARPINTERO C383 7 8 9 10 11 12 13 14 15 2 1 2 3 4 5 6
19 Anglais mercredi 16h Mme. MANN C380 7 8 9 10 11 12 13 14 7 1 2 3 4 5 6
20 pas de colle 8 9 10 11 12 13 14 15 1 1 2 3 4 5 6 7
21 Physique mardi 17h Mme. CHEVALIER R103 8 9 10 11 12 13 14 15 1 2 3 4 5 6 7
22
23 Anglais mercredi 15h Mme. LE GOURIELLEC C393 9 10 11 12 13 14 15 15 2 3 4 5 6 7 8
24 Mathématiques vendredi 14h Mme MULLAERT C181 10 11 12 13 14 15 15 1 2 3 4 5 6 7 8 9
25 Physique jeudi 18h M. DE ROUX C054 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9
26 Mathématiques vendredi 18h M. OUBAHA C382 11 12 13 14 15 14 1 2 3 4 5 6 7 8 9 10
27 Anglais mardi 17h Mme. BELAGOUNE C454 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10
28 pas de colle 12 13 14 15 13 1 2 3 4 5 6 7 8 9 10 11
29 Physique mardi 16h M. COLIN C386 12 13 14 15 1 2 3 4 5 6 4 8 9 10 11
30 Mathématiques mercredi 14h M. BOULLY R004 13 14 15 12 1 2 3 4 5 6 7 8 9 10 11 12
31 Anglais mardi 16h Mme. FULCONIS C393 13 14 15 1 2 3 4 5 6 7 8 9 10 11 12
32 Mathématiques jeudi 18h M. RAPIN C284 14 15 11 1 2 3 4 5 6 7 8 9 10 11 12 13
33 Physique mardi 18h Mme. CHEVALIER R103 14 15 1 2 3 4 5 6 7 8 9 10 11 12 13
34 Mathématiques mardi 18h M. CARPINTERO C383 15 10 1 2 3 4 5 6 7 8 9 10 11 12 13 14
35 Anglais mercredi 17h Mme. MANN C380 15 1 2 3 4 5 6 1 8 9 10 11 12 13 14
36 pas de colle 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
37 Physique mercredi 18h M. POUPY R012 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
38 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

View File

@ -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;;;;;;;
1 Semaine 18 19 20 21 22 23
2 26/02/24 04/03/24 11/03/24 18/03/24 25/03/24 01/04/24
3 type matière jour heure durée colleur récurrent (semaines) salle
4
5 colle Mathématiques vendredi 17h 1h M. OUBAHA C382 2 3 4 5 6 7
6 colle Anglais mercredi 14h 1h Mme. LE GOURIELLEC C393 2 3 4 1 2 3
7 colle Mathématiques mercredi 15h 1h M. BOULLY R004 3 4 5 6 7 8
8 colle Physique mardi 14h 1h Mme. CHEVALIER R103 9 4 5 6 7 8
9 colle Mathématiques mardi 18h 1h M. RAPIN V152 4 5 6 7 8 9
10 colle Anglais mardi 14h 1h Mme. BELAGOUNE C454 14 15 6 7 8 9
11 pas de colle 5 6 7 8 9 10
12 colle Physique mardi 17h 1h M. COLIN C386 5 6 7 8 9 10
13 colle Mathématiques mercredi 13h30 1h M. BOUVEROT 6 7 8 9 10 11
14 colle Anglais lundi 13h 1h M. HERBAUT V052 6 7 8 9 10 11
15 colle Mathématiques mardi 14h 1h Mme. MULLAERT M070 7 8 9 10 11 12
16 colle Physique mercredi 17h 1h M. POUPY R012 7 8 9 10 11 12
17 pas de colle
18 colle Anglais mercredi 16h 1h Mme. MANN C380 8 9 10 11 12 13
19 pas de colle 9 10 11 12 13 14
20 colle Physique mardi 17h 1h Mme. CHEVALIER R103 3 10 1 2 3 14
21 colle Mathématiques mercredi 13h 1h M. CARPINTERO V152 10 11 12 13 14 15
22 colle Anglais mercredi 15h 1h Mme. LE GOURIELLEC C393 10 11 12 13 14 1
23 colle Mathématiques mercredi 14h30 1h M. BOUVEROT 11 12 13 14 15 13
24 colle Physique jeudi 18h 1h M. DE ROUX C054 11 12 13 14 15
25 colle Mathématiques vendredi 18h 1h M. OUBAHA C382 12 13 14 15 12 1
26 colle Anglais jeudi 15h 1h Mme. BELAGOUNE C386 12 13 14 15 15
27 pas de colle 13 14 15 11 1 2
28 colle Physique vendredi 16h 1h Mme. CHIBANI C284 13 14 15 1 2
29 colle Mathématiques mercredi 14h 1h M. BOULLY R004 14 15 10 1 2 3
30 colle Anglais jeudi 14h 1h Mme. BELAGOUNE C386 4 5 5 6 7
31 colle Mathématiques jeudi 18h 1h M. RAPIN C284 15 9 1 2 3 4
32 colle Physique lundi 12h 1h Mme. CHEVALIER R105 15 11 12 13 4
33 colle Mathématiques mercredi 14h 1h M. CARPINTERO V152 8 1 2 3 4 5
34 colle Anglais mercredi 17h 1h Mme. MANN C380 1 2 3 4 5
35 pas de colle 1 2 3 4 5 6
36 colle Physique mercredi 18h 1h M. POUPY R012 1 2 3 4 5 6
37 colle Informatique lundi 12h 1h M. JOSPIN 13 4 9 6 11 7
38 colle Informatique lundi 13h 1h M. JOSPIN 14 8 15 5 13 8
39 colle TP Info mercredi 14h 2h 5,12,15 10,9,13 11,6,14 4,7,8 5,9,10 6,15,12
40 colle TP Info mercredi 16h 2h 6,11,9 7,14,10 4,5,8 12,13,15
41
42 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
43 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
44 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
45 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
46 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
47 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
48 cours TP Info vendredi 14h 2h M. HALFON 2 B A B A B A
49 cours TP Info vendredi 11h 2h M. HALFON 2 A B A B A B
50 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
51 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
52 cours Info jeudi 10h 3h M. HALFON 1 A+B
53 cours Chimie jeudi 10h 2h Mme CHEVALIER 1 R101 SI
54 cours TIPE Physique jeudi 12h 0h30 Mme CHEVALIER 1 R101 SI
55 cours TP ITC jeudi 13h30 1h30 M. HALFON 1 SI
56 cours TP SI lundi 8h 2h M. DERUMAUX 1 SI
57 cours TIPE Physique lundi 11h30 0h30 Mme CHEVALIER 1 SI
58 cours SI lundi 12h 1h M. DERUMAUX 1 SI
59 cours SI mardi 14h 1h M. DERUMAUX 1 SI
60 cours Maths lundi 14h 4h Mme MULLAERT 1 M103 A+B+SI
61 cours Maths mardi 8h 3h Mme MULLAERT 1 M103 A+B+SI
62 cours Physique mardi 15h 2h Mme CHEVALIER 1 R013 A+B+SI
63 cours Français-Philo mercredi 10h 2h Mme CHAPIRO 1 M103 A+B+SI
64 cours Physique jeudi 8h 2h Mme CHEVALIER 1 R101 A+B+SI
65 cours EPS jeudi 16h 2h M. TORRES-LACAZE 1 Gymnase A+B+SI
66 cours Maths vendredi 8h 3h Mme MULLAERT 1 M103 A+B+SI
67
68 cours Anglais LV1 mardi 11h 2h 1
69 cours Anglais LV2 mardi 11h 1h30 1
70 cours Espagnol LV1 mercredi 8h 2h 1
71 cours Espagnol LV1 mercredi 8h30 1h30 1
72 cours Allemand LV1 mercredi 8h 2h 1
73 cours Allemand LV2 mercredi 8h30 1h30 1

BIN
Resources/colloscope-v2.ods Normal file

Binary file not shown.

46
Resources/eleves-v2.csv Normal file
View File

@ -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 Nom Prénon Groupe de colle TD
2 ABOUJAIB Alexandre 4 A
3 AJAN George 4 A
4 AKRAD Lina 1 SI
5 AUBERT Nicolas 1 SI
6 BADR Roman 4 A
7 BAZIRE Aurélien 5 A
8 BOIT Arthur 5 A
9 BOUBKER Youssef 5 A
10 BOUDJEMA Dylan 1 SI
11 CHIRIAC Mihnea 6 A
12 COURIER Marine 6 A
13 DAGUIN Joseph 6 A
14 DAUGUEN Gabriel 7 A
15 DE WEER Matthias 7 A
16 DESBOUIS Katell 2 SI
17 DUPOUY Jérémie 7 A
18 HARIRI--GAUTIER-PICARD Grégoire 8 A
19 JURICEVIC Matteo 8 A
20 KNANOUA Anas 8 A
21 LESENNE Pierrick 9 A
22 LIN Hao 2 SI
23 MASBATIN Lucas 2 SI
24 MAYURAN Mithushan 9 A
25 MESSAHLI Yassine 9 A
26 MOGUÉROU Valentin 10 B
27 MOHELLEBI Mathéo 10 B
28 MOUISSET--FERRARA Maël 10 B
29 OTTAVI Corentin 11 B
30 PONCE Alexian 11 B
31 PUJOL Raphaël 11 B
32 PUSTETTO Mathis 12 B
33 RADICE Roman 12 B
34 RAT Evelyn 12 B
35 ROUSSE Louis 3 SI
36 ROUX Gaetan 3 SI
37 ROUYRE--CROS Célian 3 SI
38 SOURBE François-Gabriel 13 B
39 STOURBE Simon 13 B
40 THAI Dany 13 B
41 THÉODORE Jonathan 14 B
42 VANDROUX Benoit 14 B
43 VEYSSIERE Thibaud 14 B
44 VIÉ Adrien 15 B
45 YE Luan 15 B
46 ZARKA Amélie 15 B

View File

@ -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
1 Nom Prénon Groupe de coll TD
2 ABOUJAIB Alexandre 1 A
3 AJAN George 1 A
4 AKRAD Lina 5 A
5 AUBERT Nicolas 3 A
6 BADR Roman 3 A
7 BAZIRE Aurélien 3 A
8 BOIT Arthur 5 A
9 BOUBKER Youssef 5 A
10 BOUDJEMA Dylan 1 A
11 CHIRIAC Minhea 7 A
12 COURIER Marine 7 A
13 DAGUIN Joseph 7 A
14 DAUGUEN Gabriel 9 A
15 DE WEER Matthias 9 A
16 DESBOUIS Katell 11 A
17 DUPOUY Jérémie 11 A
18 HARIRI--GAUTIER-PICARD Grégoire 11 A
19 JURICEVIC Matteo 13 A
20 KNANOUA Anas 13 A
21 LESENNE Pierrick 13 A
22 LIN Hao 9 A
23 MASBATIN Lucas 15 A
24 MAYURAN Mithushan 15 A
25 MESSAHLI Yassine 2 B
26 MOGUÉROU Valentin 2 B
27 MOHELLEBI Mathéo 2 B
28 MOUISSET--FERRARA Maël 4 B
29 OTTAVI Corentin 4 B
30 PONCE Alexian 4 B
31 PUJOL Raphaël 6 B
32 PUSTETTO Mathis 6 B
33 RADICE Roman 6 B
34 RAT Evelyn 8 B
35 ROUSSE Louis 8 B
36 ROUX Gaetan 8 B
37 ROUYRE--CROS Célian 10 B
38 SOURBE François-G 10 B
39 STOURBE Simon 10 B
40 THAI Dany 12 B
41 THÉODORE Jonathan 12 B
42 VANDROUX Benoit 12 B
43 VEYSSIERE Thibaud 14 B
44 VIÉ Adrien 14 B
45 YE Luan 14 B
46 ZARKA Amélie 15 A

106
check_collisions.py Normal file
View File

@ -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()

View File

@ -1,7 +1,8 @@
import discord
from discord import app_commands
from discord import app_commands, Interaction
from discord.app_commands import Choice
from discord.ext import commands
from typing import cast
from classes.my_cog import MyCog
@ -11,6 +12,10 @@ class CogGroup(app_commands.Group, name="cog", description="Gérer les cogs"):
super().__init__()
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")
async def cog_load(self, interaction: discord.Interaction, extension: str):
"""

View File

@ -5,14 +5,13 @@ from discord.ext import commands
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
class EDT(MyCog):
def __init__(self, bot):
super().__init__(bot)
self.eleves = get_eleves()
self.bot = bot
@app_commands.command(name="edt")

View File

@ -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()
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()
local_tz = "Europe/Paris"
@ -22,6 +22,15 @@ jour_to_delta = {
"vendredi": 4,
}
jour_to_byday = {
"lundi": "MO",
"mardi": "TU",
"mercredi": "WE",
"jeudi": "TH",
"vendredi": "FR",
}
langues = ["Anglais", "Allemand", "Espagnol"]
option_langues = {
@ -61,14 +70,14 @@ def add_events_from_ics(filename: str, new_cal: icalendar.Calendar):
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:]:
liste[f"{row[0]} {row[1]} - {row[2]}"] = row[2]
return liste
if row[2] == groupe:
return row[3]
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")
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):
"""
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
"""
liste_colles = []
for row in np_colles[1:]:
if pandas.isnull(row[0]) or row[0] == "pas de colle":
for row in np_colles[4:40]:
if pandas.isnull(row[1]) or row[1] == "pas de colle":
# il n'y a pas de colle, on skip !
continue
# 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
elif row[0] == "Allemand" and not option_langue.startswith("DE"):
elif row[1] == "Allemand" and not option_langue.startswith("DE"):
continue
elif row[0] == "Espagnol" and not option_langue.startswith("ES"):
elif row[1] == "Espagnol" and not option_langue.startswith("ES"):
continue
for index, colle in enumerate(row[5:]):
# les quatre premières cases ne sont pas
if pandas.isnull(colle) or colle != groupe:
for index, colle in enumerate(row[8:]):
if pandas.isnull(colle):
continue
# les huit premières cases ne sont pas concernées
new_colle = icalendar.Event()
new_colle.add("summary", f"Colle {row[0]}")
new_colle.add("description", f"{row[3]}")
new_colle.add("location", row[4])
if "," in list(colle):
if groupe not in colle.split(","):
continue
elif colle != groupe:
continue
# dans le cas où plusieurs groupes de colles soient concernés
duree = heure_to_timedelta(row[4])
# transforme la durée en timedelta
date = debut_semaine_to_datetime(np_colles[1][index+8])
date += datetime.timedelta(days=jour_to_delta[row[2]])
date += heure_to_timedelta(row[3])
# génère la date à partir de la semaine, du jour et de l'heure
new_colle.add("dtstamp", datetime.datetime.now())
localisation = row[7] if not pandas.isnull(row[7]) else None
new_colle.add("uid", str(uuid.uuid4()))
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)
new_colle.add("dtend", date, parameters={"tzid": local_tz})
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)
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
icalendar.Event
@ -134,74 +195,131 @@ def get_cours_SI(np_colles, groupe):
np_colles: l'array 2D numpy contenant le colloscope
groupe: str, le numéro du groupe
"""
liste_cours = []
for index, cell in enumerate(np_colles[-1][5:]):
heure = 17
groupes = cell.split("§")
if groupe in groupes or f"\n{groupe}" in groupes:
heure = 16
listes_cours = []
groupe_td = get_td_groupe(groupe)
cours_si = icalendar.Event()
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()))
for row in np_colles[41:66]:
date = debut_semaine_to_datetime(np_colles[0][index+5])
date += datetime.timedelta(days=jour_to_delta["mardi"])
date += datetime.timedelta(hours=heure)
cours_si.add("dtstart", date, parameters={"tzid": local_tz})
if pandas.isnull(row[1]):
continue
first_date = np_colles[1][8]
date += datetime.timedelta(hours=1)
cours_si.add("dtend", date, parameters={"tzid": local_tz})
liste_cours.append(cours_si)
eleves = row[8]
if "à" in list(eleves):
return liste_cours
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):
"""
Renvoie la liste de cours de langue associés
list[icalendar.Event]
Renvoie la liste de cours de langue associés sous forme de list[icalendar.Event]
"""
liste_langues = []
p = Path(__file__).with_name('Resources')
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"):
if event.get("summary") in option_langues[langues]:
liste_langues.append(event)
liste_cours = []
langues = option_langues[langues]
return liste_langues
for row in np_colles[67:]:
def get_calendar(groupe, langues, split: bool = False):
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: str, langues: str, split: bool = False):
""""
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")
if split:
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):
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)
if split:
@ -214,5 +332,4 @@ def get_calendar(groupe, langues, split: bool = False):
new_cal_edt.add_component(event)
return [new_cal_edt.to_ical()]

24
main.py
View File

@ -1,13 +1,13 @@
from typing import Optional, List
from os import getenv, listdir
import discord
import re
import discord
from typing import cast
from discord import app_commands
from discord.app_commands import Choice
from discord.ext import commands
from dotenv import load_dotenv
load_dotenv()
@ -16,26 +16,38 @@ class MyClient(commands.Bot):
intents = discord.Intents.none()
intents.guilds = True
intents.messages = True
intents.message_content = True
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
f.endswith(".py") and f.__str__() != "__init__.py"]
# self.add_listener(self.on_message)
async def setup_hook(self):
# cogs
for extension in self.initial_extensions:
await self.load_extension(extension)
self.tree.copy_global_to(guild=self.MY_GUILD)
await self.tree.sync(guild=self.MY_GUILD)
for guild in self.MY_GUILDS:
self.tree.copy_global_to(guild=guild)
await self.tree.sync(guild=guild)
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"Discord version : {discord.__version__}")
print(f"Admins : {', '.join([m.name for m in team.members])}")
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__":
client = MyClient()