Acasă/Proiecte/Agregare Moodle și Teams
Moodle și Teams, adunateîntr‑o singură aplicație
O aplicație web, instalabilă pe telefon, care citește de două ori pe zi platformele unui program de master, arhivează materialele, pune termenele în calendar și trimite notificare pentru fiecare noutate. În două săptămâni măsurate nu a avut nicio execuție eșuată.
De unde am pornit
Unul dintre noi urmează un program de master și lucrează în ture de câte două săptămâni. Informația era împrăștiată pe 15 cursuri în Moodle, 9 echipe în Microsoft Teams și câteva PDF-uri cu orarul. Nimic nu anunța o temă nouă sau un termen mutat.
Platforma Microsoft a instituției nu permite, fără aprobarea administratorului, citirea calendarului, a mesajelor sau a fișierelor prin API. Prima variantă a aplicației, găzduită în afara serverului nostru, era lentă la autentificare, așa că am mutat-o pe serverul nostru.
Soluția
- un serviciu citește Moodle prin interfața oficială la 07:00 și la 19:00, arhivează fișierele pe materii și creează termenele
- al doilea serviciu citește Teams dintr-un browser care rulează permanent pe server, doar în regim de citire
- fiecare noutate ajunge ca notificare push pe telefon
- aplicația se instalează pe Android și arată ultima pagină și fără internet
- orarul, termenele și noutățile se sincronizează live între dispozitive
De la platformă la notificare
Niciun serviciu nu e expus direct în internet; accesul trece doar printr-un proxy cu TLS.
Teams fără API
Un client propriu, mic, controlează un browser fără interfață și citește doar conținutul paginii.
- selectori independenți de limba interfeței
- sesiunea se păstrează și după repornirea serverului
Termene fără dubluri
Un termen trecut de mână și unul găsit automat, la aceeași materie, în aceeași zi și de același tip, devin unul singur.
- detectarea termenelor mutate
- fișierele deja arhivate nu se descarcă din nou
Date în siguranță
Baza de date e un fișier cu scriere atomică, deci o oprire bruscă nu o strică.
- copii zilnice păstrate 14 zile
- fișierele de curs, în cloudul propriu
Sesiunea pierdută
Platforma instituției emite doar cookie-uri de sesiune, care dispar la închiderea browserului. Am lăsat browserul să ruleze permanent, cu profil păstrat și repornire automată în 5 secunde dacă se oprește. După repornirea serverului din 31.10.2026, sesiunea a fost recuperată fără o nouă autentificare.
Pe 20.10.2026 Teams și-a schimbat interfața. Am adăugat un al doilea set de selectori și detectarea cererii de autentificare, iar citirea a mers din nou în aceeași zi.
Ce am măsurat
- 0 execuții eșuate între 21.10 și 04.11.2026; în total, 2 rulări Teams eșuate, pe 20.10, rezolvate în aceeași dimineață
- 63 de fișiere și 128 de activități Moodle sub monitorizare
- 9 echipe Teams detectate; 23 de activități și 17 postări procesate
- redirecționarea spre autentificare în 0,038 s
- memorie: 16,9 MiB serverul aplicației, 47 MiB serviciul Moodle
Ce a făcut Claude în proiect
Ce a făcut Claude
- prima variantă a aplicației a fost o pagină făcută împreună cu Claude
- a generat codul iterativ, pe cerințele noastre
- în aplicație, transformă mesajele primite în sarcini de lucru
- răspunde la întrebări doar din documentele proiectului, cu sursa citată, și spune ce e confirmat și ce e presupunere
Ce am făcut noi
- am stabilit cerințele și am luat deciziile
- am mutat aplicația pe serverul nostru și am pus-o în funcțiune
- o exploatăm și o urmărim zi de zi
- ne ocupăm de autentificarea în conturile instituției
Dacă interfața Teams se schimbă, și citirea se strică, aplicația afișează un avertisment la Noutăți, iar corectura o facem împreună cu Claude.
Servicii și proiecte apropiate
Software la comandă
Aplicații web și PWA, aplicații mobile și integrări cu platforme care nu oferă API.
Platformă de disertație
Teme, etape, documente cu versiuni, comentarii și comisii, pe același server și cu aceeași abordare.
Asistent de mail cu AI
8 conturi de mail gestionate pe server propriu, cu rezumat AI din oră în oră.
Vezi și cum lucrăm cu Claude.
Verifici de mână mai multe platforme în fiecare zi?
Le putem citi automat, chiar și fără API, și îți trimitem doar noutățile.