Livrare Lot 3 (Frontend): aplicație web, aplicație mobilă Android, extensie browser

- Surse complete web (React/Vite) + mobil (React Native/Expo) + extensie (MV3)
- Documentație de livrare: ghid utilizare, matrice trasabilitate cerințe, raport testare furnizor
- Artefacte binare: imagine Docker didi-frontend:lot3-1.0, APK, extensie v3.2.6 + SHA256SUMS
- Configurare adresă platformă externalizată (build args / .env / config.js)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Top Clossers 2026-07-17 12:33:59 +03:00
commit cec967f953
321 changed files with 80506 additions and 0 deletions

View file

@ -0,0 +1,269 @@
% Ghid de utilizare — DiDi Lot 3 (Frontend)
% Aplicația web · Aplicația mobilă · Extensia de browser
% PNRR DIGI150 · contract 11.1.i3.c9
---
# 1. Introducere
Platforma DiDi analizează conținut (text, linkuri, imagini, audio, video) pentru semne de
dezinformare și returnează un **raport de analiză** cu: scor de risc (0100), verdict, grad de
certitudine, explicație, tehnici de manipulare detectate, verificarea afirmațiilor cu surse,
evaluarea sursei și detecția conținutului generat de AI.
Platforma se folosește prin **trei aplicații client**, cu **un singur cont** (autentificare unică):
| Aplicație | Când o folosești |
|---|---|
| **Aplicația web** | analiza completă, istoric, rapoarte PDF, administrarea contului |
| **Aplicația mobilă** | analiză din mers; partajezi conținut din orice aplicație direct către DiDi |
| **Extensia de browser** | verifici pagini, texte și imagini direct în timpul navigării |
**Contul tău:** același email + parolă funcționează în toate cele trei aplicații. Autentificarea
se face prin serverul securizat al platformei (Keycloak); aplicațiile nu văd și nu stochează
parola ta.
**Confidențialitate:** conținutul trimis este folosit exclusiv pentru generarea raportului de
analiză. Trimiterea fișierelor și a capturilor de ecran necesită **consimțământul tău explicit**,
cerut o singură dată. Poți șterge oricând analizele din Istoric.
---
# 2. Aplicația web
**Acces:** `https://10.11.10.18/` (sau adresa comunicată de administrator). La certificat
autosemnat, browserul afișează un avertisment — alege „Advanced" → „Continue".
## 2.1 Autentificare
1. Pe pagina de prezentare apasă **„Începe analiza"**.
2. Ești redirecționat către formularul de autentificare — introdu emailul și parola
(sau creează cont nou cu „Register"; recuperarea parolei — „Forgot password").
3. După autentificare ajungi în **Dashboard**.
![Formularul de autentificare](media_testare/web-02-login-keycloak.png){width=15cm}
## 2.2 Analiza completă
1. În meniul lateral alege **„Analiză completă"**.
2. Alege tab-ul potrivit conținutului: **Text / URL / Imagine / Audio / Video**.
3. Introdu conținutul: lipește textul sau linkul, ori selectează fișierul de pe disc.
4. Pentru fișiere: la prima trimitere bifează **consimțământul** (butonul de analiză rămâne
inactiv până atunci).
5. Apasă **„Rulează analiza completă"** și urmărește progresul pe componente.
![Formularul unificat cu cele 5 tipuri de conținut](media_testare/web-03-formular-unificat.png){width=15cm}
![Consimțământul pentru fișiere (o singură dată)](media_testare/web-04-consimtamant-upload.png){width=15cm}
![Analiza în desfășurare — progres pe componente](media_testare/web-05-progres-analiza.png){width=15cm}
## 2.3 Citirea raportului
Raportul afișează, de sus în jos:
- **Scorul de risc** (0100) cu inel colorat: verde = sigur … roșu = pericol;
- **Verdictul** (De încredere → Dezinformare), nivelul de risc și certitudinea;
- **Explicația** în limba română — rezumatul motivelor;
- **Acțiunea recomandată** (ex. „Nu distribui acest articol");
- **Cea mai gravă problemă**, cu citat-dovadă;
- Secțiuni expandabile cu detalii per componentă: tehnici de manipulare, afirmații verificate
(cu surse care susțin/contrazic), detecție AI, evaluarea sursei.
![Exemplu de raport: verdict, explicație, acțiune recomandată](media_testare/web-06-rezultat-verdict.png){width=15cm}
**Partajare și export:** butoanele **„Partajează"** (copiază un link către raport, accesibil
utilizatorilor autentificați) și **„Descarcă PDF"** se află în colțul din dreapta sus al
raportului.
![Butoanele Partajează și Descarcă PDF pe un raport](media_testare/web-07-rezultat-video-partajare.png){width=15cm}
## 2.4 Analize pe competențe individuale
Din meniul **„Abilități DIDI"** poți rula o singură componentă, mai rapid decât pipeline-ul
complet: **Tehnici de manipulare**, **Evaluarea sursei**, **Verificarea afirmațiilor**,
**Detectare AI** — fiecare cu propriul formular și ecran de rezultate.
![Competența „Detectare AI"](media_testare/web-08-competenta-detectare-ai.png){width=15cm}
## 2.5 Istoric
Meniul **„Istoric"** listează analizele tale: scor, verdict, tip conținut, dată. De aici poți:
- **filtra** după căutare în conținut, nivel de risc, status, tip de conținut, interval de date;
- deschide orice analiză anterioară (click pe element);
- descărca **PDF**-ul sau **șterge** analiza (cu confirmare).
![Istoricul cu rândul de filtre](media_testare/web-09-istoric-filtre.png){width=15cm}
## 2.6 Setări
Meniul **„Setări"**: profilul contului, **schimbarea parolei** (prin serverul de autentificare),
abonamentul și creditele. Tot aici descarci celelalte două aplicații:
- **Extensia de browser** — arhiva .zip + instrucțiuni de instalare pas cu pas;
- **Aplicația mobilă** — fișierul APK pentru Android.
Ambele sunt disponibile **pentru orice tip de abonament**.
![Setări: descărcarea extensiei și a aplicației mobile](media_testare/web-11-setari-descarcari.png){width=15cm}
---
# 3. Aplicația mobilă (Android)
## 3.1 Instalare și autentificare
1. Descarcă APK-ul din aplicația web (Setări → Aplicație mobilă) și deschide-l pe telefon
(acceptă instalarea din surse necunoscute, dacă ți se cere).
2. Telefonul trebuie să fie în aceeași rețea cu platforma.
3. Deschide **didi****Sign In** → introdu emailul și parola în formularul securizat.
![Autentificarea în aplicația mobilă](media_testare/mob-01-login-keycloak.png){width=7.5cm}
## 3.2 Analiza conținutului
Din **Dashboard****Analiză completă**: alege tab-ul (Text / Imagine / Audio / Video / URL),
introdu conținutul și apasă **„Rulează analiza completă"**.
![Dashboard-ul aplicației mobile](media_testare/mob-02-dashboard.png){width=7.5cm}
**Imagini cu decupare:** la tab-ul Imagine, după ce alegi poza din galerie sau o fotografiezi,
se deschide **editorul de decupare** — păstrezi doar regiunea relevantă, apoi confirmi. Imaginea
decupată apare în preview și se trimite la analiză.
![Imaginea decupată, gata de analiză](media_testare/mob-05-crop-imagine-preincarcata.png){width=7.5cm}
**Consimțământ:** la prima trimitere a unui fișier apare fereastra de consimțământ — bifează
acordul și continuă; nu se va mai cere data următoare.
![Consimțământul pentru încărcarea fișierelor](media_testare/mob-06-consimtamant.png){width=7.5cm}
Rezultatul se afișează în format optimizat pentru mobil: verdict + scor, secțiuni expandabile,
surse cu linkuri, recomandări.
![Raport de analiză pe mobil](media_testare/mob-07-rezultat.png){width=7.5cm}
## 3.3 Share-to-Analyze — analizează din orice aplicație
Cel mai rapid mod de a folosi DiDi pe telefon: **partajezi conținut direct către didi** din orice
aplicație (browser, social media, galerie, mesagerie):
1. În aplicația-sursă apasă **Share** și alege **didi** din listă.
2. DiDi deschide ecranul de analiză cu conținutul preluat — **link**, **text** sau **imagine**.
3. Alege tipul de analiză (completă sau o competență individuală) — analiza pornește imediat.
Dacă nu ești autentificat, aplicația te duce întâi la login și **revine automat** la analiza ta.
![Share dintr-o aplicație terță către didi](media_testare/mob-08-share-imagine-sursa.png){width=7.5cm}
![Conținutul partajat, cu opțiunile de analiză](media_testare/mob-09-share-imagine-ecran.png){width=7.5cm}
![Link partajat — inclusiv analiza domeniului](media_testare/mob-12-share-link.png){width=7.5cm}
## 3.4 Istoric și Setări
- **Istoric:** analizele tale, cu derulare infinită; analizele în curs se actualizează automat;
ștergerea cere confirmare; atingerea unui element deschide raportul complet.
- **Setări:** profil, schimbare parolă, limbă, opțiuni de analiză automată pentru linkurile
partajate din rețele sociale și **Deconectare** (revocă sesiunea de pe dispozitiv).
![Istoricul pe mobil](media_testare/mob-13-istoric.png){width=7.5cm}
![Deconectarea, din Setări](media_testare/mob-14-setari-deconectare.png){width=7.5cm}
---
# 4. Extensia de browser (Chrome / Edge)
## 4.1 Instalare
1. Din aplicația web → **Setări → Extensie browser****„Descarcă extensia (.zip)"**.
2. Dezarhivează arhiva într-un folder.
3. Deschide `chrome://extensions`, activează **Developer mode** (dreapta sus), apasă
**„Load unpacked"** și alege folderul dezarhivat.
![Extensia instalată în Chrome](media_testare/ext-01-instalare.png){width=13cm}
## 4.2 Autentificare
Deschide popup-ul extensiei (iconița **d** din bara Chrome) → **„Autentificare"** → se deschide
fereastra de login a platformei → introdu emailul și parola. După autentificare, emailul tău apare
în antetul popup-ului. **„Deconectare"** (jos) închide sesiunea.
![Popup-ul înainte de autentificare](media_testare/ext-02-popup-neconectat.png){width=9cm}
## 4.3 Ce poți analiza, direct din browser
Din **popup**:
- **Pagina curentă** — câmpul URL e precompletat; apasă „Pagina curentă" sau „Analizează URL";
- **Orice URL** — lipește-l în câmpul dedicat;
- **Text** — selectează textul în pagină înainte să deschizi popup-ul (e preluat automat) sau
lipește-l manual (max 5000 de caractere);
- **Screenshot** — trasezi o regiune pe ecran; extensia analizează exact ce ai selectat;
- **Record Video** — înregistrezi o regiune a paginii (ex. un clip din feed).
![Secțiunile de analiză din popup](media_testare/ext-04-popup-url-text.png){width=9cm}
Din **meniul contextual** (click-dreapta), fără să deschizi popup-ul:
- click-dreapta pe **o imagine** → „Analizează imaginea cu DiDi";
- click-dreapta pe **text selectat** → „Analizează textul selectat cu DiDi";
- click-dreapta oriunde în pagină → „Analizează pagina curentă cu DiDi".
![Meniul contextual pe o imagine](media_testare/ext-08-context-menu-imagine.png){width=15cm}
**Consimțământ:** la prima captură sau imagine trimisă apare fereastra de consimțământ direct în
pagină — „Sunt de acord" pornește analiza; alegerea se reține.
![Consimțământul pentru capturi](media_testare/ext-06-consimtamant.png){width=15cm}
**Captura cu selecție de regiune:** după „Screenshot", pagina se întunecă ușor — trage cu mouse-ul
peste zona de analizat; extensia decupează exact acea regiune.
![Selectarea regiunii de analizat](media_testare/ext-07-snipping-selectie.png){width=15cm}
## 4.4 Rezultatele
- Analizele pornite **din pagină** (screenshot, video, click-dreapta) afișează raportul ca
**fereastră peste pagină** când analiza e gata (3090 s).
- Analizele pornite **din popup** (text/URL) deschid raportul într-un **tab nou**.
- Raportul conține aceleași secțiuni ca în aplicația web: verdict cu scor, explicație completă,
detecție AI, afirmații verificate cu surse, evaluarea sursei.
![Raport de analiză în extensie — verdict și explicație](media_testare/ext-09-rezultat-verdict.png){width=12.5cm}
![Detecție AI și verificarea afirmațiilor](media_testare/ext-10-rezultat-componente.png){width=12.5cm}
## 4.5 Istoric
Butonul **„Istoric"** din popup deschide pagina cu ultimele analize (păstrate local, max 50) —
poți redeschide detaliile oricărei analize sau o poți șterge.
![Istoricul extensiei](media_testare/ext-12-istoric.png){width=15cm}
---
# 5. Întrebări frecvente
**Cum interpretez scorul?** 030 (verde) = conținut în general de încredere; 3160 (galben) =
îndoielnic, citește critic; 61100 (portocaliu/roșu) = risc ridicat — verifică sursele oficiale și
nu distribui.
**De ce un conținut cu afirmații adevărate poate primi verdict de risc ridicat?** Pentru că
riscul nu vine doar din afirmații: o imagine generată de AI care „ambalează" o știre reală este
o prezentare falsificată — sistemul o detectează și explică exact acest lucru în raport.
**Mi s-a epuizat creditul.** Fiecare analiză consumă credite în funcție de tipul conținutului
(text 1, imagine 2, video 5). La epuizare primești mesajul „Insufficient credits" — creditele se
reînnoiesc conform abonamentului (vezi Setări → Abonament).
**Analiza durează mult.** Textele durează secunde; imaginile ~3090 s; clipurile video pot dura
câteva minute (transcriere + analiză vizuală). Poți închide fereastra — rezultatul apare în
Istoric.
**Pot șterge o analiză?** Da — din Istoric (web/mobil: ștergere cu confirmare; extensie: ștergere
din pagina de istoric). Ștergerea elimină și conținutul asociat.
*Versiune document: 1.0 · 17.07.2026*