Files
digiserver-v2/app/static/help/_manual_body.html
T
ske087 7177cdb9ab Add in-app help page with user manual (Romanian)
Adds a /help page served from the dashboard navigation, containing the full
Romanian user manual for operators: dashboard, playlist management, adding
media, removing files from playlists, player management, and the advanced
edited-media view.

Implementation notes
- Manual is pre-rendered to HTML with pandoc and shipped as a static asset
  (app/static/help/_manual_body.html) rather than parsed at runtime. This
  keeps the container free of a Markdown dependency and makes the page render
  identically regardless of what is installed.
- /help is login-protected; the sidebar table of contents is derived from the
  level-2 headings at request time.
- Screenshots are served from app/static/help/screenshots/ (32 images).
- Regenerate after editing the manual:
    documentatie/convert_help_page.sh
    docker compose up -d --build

Also adds
- backup_players_playlists.sh / restore_database.sh for DB backup and restore.
- .gitignore rules so local database backups (real production data), generated
  .docx files and duplicate screenshot copies are never committed.
2026-09-15 16:46:16 +03:00

1057 lines
40 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<h1 id="manual-de-utilizare-digiserver-v2">Manual de Utilizare DigiServer v2</h1>
<p><strong>Versiune document:</strong> 1.0 <strong>Data:</strong> Septembrie 2026 <strong>Aplicație:</strong> DigiServer v2 Sistem de management al conținutului pentru ecrane digitale (Digital Signage)</p>
<hr />
<h2 id="cuprins">Cuprins</h2>
<ol type="1">
<li><a href="#1-introducere">Introducere</a></li>
<li><a href="#2-autentificare-în-aplicație">Autentificare în aplicație</a></li>
<li><a href="#3-dashboard-panoul-principal">Dashboard (Panoul principal)</a></li>
<li><a href="#4-biblioteca-de-media">Biblioteca de Media</a></li>
<li><a href="#5-adăugarea-de-media-în-sistem">Adăugarea de Media în sistem</a></li>
<li><a href="#6-managementul-playlist-urilor">Managementul Playlist-urilor</a></li>
<li><a href="#7-adăugarea-de-conținut-într-un-playlist">Adăugarea de conținut într-un Playlist</a></li>
<li><a href="#8-ștergerea-unui-fișier-din-playlist">Ștergerea unui fișier din Playlist</a></li>
<li><a href="#9-reordonarea-conținutului-în-playlist">Reordonarea conținutului în Playlist</a></li>
<li><a href="#10-managementul-playerelelor">Managementul Playerelelor</a></li>
<li><a href="#11-vizualizarea-fișierelor-editate-pe-player-funcție-avansată">Vizualizarea fișierelor editate pe Player (funcție avansată)</a></li>
<li><a href="#12-administrare">Administrare</a></li>
<li><a href="#13-întrebări-frecvente-și-depanare">Întrebări frecvente și depanare</a></li>
</ol>
<hr />
<h2 id="introducere">1. Introducere</h2>
<p><strong>DigiServer v2</strong> este o aplicație web folosită pentru a gestiona conținutul afișat pe ecranele digitale (playere). Cu ajutorul ei puteți:</p>
<ul>
<li>Încărca fișiere media (imagini, videoclipuri, documente PDF, prezentări PowerPoint)</li>
<li>Crea <strong>playlist-uri</strong> liste ordonate de conținut care se afișează pe ecrane</li>
<li>Atribui playlist-uri către playere specifice</li>
<li>Urmări automatizarea și starea playerelor</li>
<li>Vizualiza și gestiona versiunile editate ale fișierelor de pe playere</li>
</ul>
<h3 id="structura-generală-a-aplicației">Structura generală a aplicației</h3>
<pre><code>┌─────────────────────────────────────────────────────────┐
│ UTILIZATOR (browser) │
│ │ │
│ ▼ │
│ DigiServer (interfață web) │
│ │ │
│ ├──► Biblioteca de Media (fișiere) │
│ ├──► Playlist-uri (liste de redare) │
│ └──► Playere (ecrane fizice) │
└─────────────────────────────────────────────────────────┘</code></pre>
<h3 id="roluri-de-utilizator">Roluri de utilizator</h3>
<table>
<colgroup>
<col style="width: 33%" />
<col style="width: 66%" />
</colgroup>
<thead>
<tr class="header">
<th>Rol</th>
<th>Drepturi</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>Admin</strong></td>
<td>Acces complet: utilizatori, setări sistem, HTTPS, playere, conținut</td>
</tr>
<tr class="even">
<td><strong>Editor</strong></td>
<td>Poate încărca conținut, crea playlist-uri și edita playere</td>
</tr>
<tr class="odd">
<td><strong>Utilizator</strong></td>
<td>Poate vizualiza conținut și playlists</td>
</tr>
</tbody>
</table>
<hr />
<h2 id="autentificare-în-aplicație">2. Autentificare în aplicație</h2>
<h3 id="deschiderea-aplicației">2.1. Deschiderea aplicației</h3>
<p>Deschideți un browser (Chrome, Firefox sau Edge) și accesați una dintre adresele:</p>
<ul>
<li><strong>Prin adresă IP:</strong> <code>https://10.76.152.164</code></li>
<li><strong>Prin nume gazdă:</strong> <code>https://digiserver</code></li>
<li><strong>Prin domeniu:</strong> <code>https://digiserver.sibiusb.harting.intra</code></li>
</ul>
<blockquote>
<p><strong>Notă:</strong> Dacă browserul afișează un avertisment de certificat („Conexiunea nu este privată”), acest lucru este normal pentru rețeaua internă. Apăsați <strong>„Avansat” → „Continuă către…“</strong>. Administratorul de rețea poate instala certificatul intern pentru a elimina acest avertisment.</p>
</blockquote>
<h3 id="ecranul-de-autentificare">2.2. Ecranul de autentificare</h3>
<figure>
<img src="/static/help/screenshots/01-login.png" alt="Ecranul de autentificare" />
<figcaption aria-hidden="true">Ecranul de autentificare</figcaption>
</figure>
<p><em>Figura 1 Ecranul de login</em></p>
<p>Introduceți:</p>
<ol type="1">
<li><strong>Nume utilizator</strong> (username)</li>
<li><strong>Parolă</strong></li>
<li>Apăsați butonul <strong>„Autentificare”</strong> / <strong>„Login”</strong></li>
</ol>
<blockquote>
<p><strong>Important:</strong> Dacă ați uitat parola, contactați administratorul sistemului. Parola poate fi schimbată ulterior din meniul de cont.</p>
</blockquote>
<h3 id="schimbarea-parolei">2.3. Schimbarea parolei</h3>
<p>După prima autentificare, se recomandă schimbarea parolei:</p>
<ol type="1">
<li>Accesați <strong>meniul de utilizator</strong> (colț dreapta-sus)</li>
<li>Selectați <strong>„Schimbă parola”</strong> / <strong>„Change Password”</strong></li>
<li>Introduceți parola veche, apoi parola nouă (de două ori)</li>
<li>Confirmați</li>
</ol>
<figure>
<img src="/static/help/screenshots/02-change-password.png" alt="Formularul de schimbare a parolei" />
<figcaption aria-hidden="true">Formularul de schimbare a parolei</figcaption>
</figure>
<p><em>Figura 2 Schimbarea parolei</em></p>
<hr />
<h2 id="dashboard-panoul-principal">3. Dashboard (Panoul principal)</h2>
<p>După autentificare, sunteți redirecționat către <strong>Dashboard</strong> pagina principală a aplicației.</p>
<figure>
<img src="/static/help/screenshots/03-dashboard.png" alt="Dashboard după autentificare" />
<figcaption aria-hidden="true">Dashboard după autentificare</figcaption>
</figure>
<p><em>Figura 3 Dashboard-ul principal</em></p>
<h3 id="elementele-dashboard-ului">3.1. Elementele Dashboard-ului</h3>
<p>Dashboard-ul oferă o imagine de ansamblu asupra sistemului:</p>
<table>
<thead>
<tr class="header">
<th>Element</th>
<th>Descriere</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>Statistici</strong></td>
<td>Număr de playere, playlist-uri, fișiere media</td>
</tr>
<tr class="even">
<td><strong>Stare playere</strong></td>
<td>Care playere sunt online / offline</td>
</tr>
<tr class="odd">
<td><strong>Acțiuni rapide</strong></td>
<td>Butoane pentru adăugare rapidă de conținut</td>
</tr>
<tr class="even">
<td><strong>Meniu de navigare</strong></td>
<td>Acces către toate secțiunile aplicației</td>
</tr>
</tbody>
</table>
<h3 id="meniul-principal-de-navigare">3.2. Meniul principal de navigare</h3>
<p>Meniul din partea stângă (sau de sus) conține:</p>
<table>
<thead>
<tr class="header">
<th>Secțiune</th>
<th>Funcție</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>Dashboard</strong></td>
<td>Pagina principală cu statistici</td>
</tr>
<tr class="even">
<td><strong>Media Library</strong> (Biblioteca de Media)</td>
<td>Toate fișierele încărcate</td>
</tr>
<tr class="odd">
<td><strong>Playlists</strong></td>
<td>Gestionarea listelor de redare</td>
</tr>
<tr class="even">
<td><strong>Players</strong> (Playere)</td>
<td>Gestionarea ecranelor</td>
</tr>
<tr class="odd">
<td><strong>Admin</strong></td>
<td>Setări de sistem (doar pentru administratori)</td>
</tr>
</tbody>
</table>
<h3 id="cum-citiți-statisticile">3.3. Cum citiți statisticile</h3>
<ol type="1">
<li><strong>Playere (Players):</strong> Numărul total de ecrane configurate</li>
<li><strong>Playlist-uri:</strong> Numărul de liste de redare existente</li>
<li><strong>Media:</strong> Numărul total de fișiere încărcate</li>
</ol>
<p>Apăsați pe orice statistică pentru a accesa secțiunea corespunzătoare.</p>
<hr />
<h2 id="biblioteca-de-media">4. Biblioteca de Media</h2>
<p>Biblioteca de Media conține <strong>toate fișierele</strong> încărcate în sistem: imagini, videoclipuri, documente PDF și prezentări.</p>
<figure>
<img src="/static/help/screenshots/04-media-library.png" alt="Biblioteca de Media" />
<figcaption aria-hidden="true">Biblioteca de Media</figcaption>
</figure>
<p><em>Figura 4 Bibliotecac de Media</em></p>
<h3 id="accesarea-bibliotecii">4.1. Accesarea bibliotecii</h3>
<p>Din meniul principal, selectați <strong>„Media Library”</strong> sau accesați direct <code>/media-library</code>.</p>
<h3 id="informații-afișate-pentru-fiecare-fișier">4.2. Informații afișate pentru fiecare fișier</h3>
<table>
<thead>
<tr class="header">
<th>Coloană / Element</th>
<th>Semnificație</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>Nume fișier</strong></td>
<td>Numele original al fișierului încărcat</td>
</tr>
<tr class="even">
<td><strong>Tip</strong></td>
<td>Imagine / Video / PDF / Prezentare</td>
</tr>
<tr class="odd">
<td><strong>Dimensiune</strong></td>
<td>Mărimea fișierului</td>
</tr>
<tr class="even">
<td><strong>Data încărcării</strong></td>
<td>Când a fost adăugat în sistem</td>
</tr>
<tr class="odd">
<td><strong>Previzualizare</strong></td>
<td>Miniatură pentru imagini și videoclipuri</td>
</tr>
</tbody>
</table>
<h3 id="filtrarea-și-căutarea">4.3. Filtrarea și căutarea</h3>
<ul>
<li>Folosiți <strong>bara de căutare</strong> pentru a găsi un fișier după nume</li>
<li>Folosiți <strong>filtrele</strong> pentru a afișa doar un anumit tip (imagini, videoclipuri etc.)</li>
</ul>
<h3 id="ștergerea-unui-fișier-din-bibliotecă">4.4. Ștergerea unui fișier din bibliotecă</h3>
<blockquote>
<p><strong>Atenție:</strong> Ștergerea din bibliotecă este permanentă. Dacă fișierul este folosit într-un playlist, acesta va apărea ca lipsă.</p>
</blockquote>
<ol type="1">
<li>Găsiți fișierul în listă</li>
<li>Apăsați butonul <strong>Ștergere</strong> (iconiță coș de gunoi / X)</li>
<li>Confirmați ștergerea</li>
</ol>
<figure>
<img src="/static/help/screenshots/05-1-delete-file.png" alt="Accesarea opțiunii de ștergere" />
<figcaption aria-hidden="true">Accesarea opțiunii de ștergere</figcaption>
</figure>
<p><em>Figura 5 Accesarea butonului de ștergere</em></p>
<figure>
<img src="/static/help/screenshots/05-2-delete-file-confirm.png" alt="Confirmarea ștergerii unui fișier" />
<figcaption aria-hidden="true">Confirmarea ștergerii unui fișier</figcaption>
</figure>
<p><em>Figura 6 Confirmarea ștergerii</em></p>
<hr />
<h2 id="adăugarea-de-media-în-sistem">5. Adăugarea de Media în sistem</h2>
<h3 id="deschiderea-formularului-de-încărcare">5.1. Deschiderea formularului de încărcare</h3>
<p>Din meniul principal selectați <strong>„Upload Media”</strong> sau accesați pagina de încărcare.</p>
<figure>
<img src="/static/help/screenshots/06-1-upload-media.png" alt="Formularul de încărcare media" />
<figcaption aria-hidden="true">Formularul de încărcare media</figcaption>
</figure>
<p><em>Figura 7 Pagina de încărcare media</em></p>
<h3 id="tipuri-de-fișiere-acceptate">5.2. Tipuri de fișiere acceptate</h3>
<table>
<thead>
<tr class="header">
<th>Categorie</th>
<th>Formate acceptate</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>Imagini</strong></td>
<td>PNG, JPG, JPEG, GIF, BMP</td>
</tr>
<tr class="even">
<td><strong>Video</strong></td>
<td>MP4, AVI, MKV, MOV, WEBM</td>
</tr>
<tr class="odd">
<td><strong>Documente</strong></td>
<td>PDF</td>
</tr>
<tr class="even">
<td><strong>Prezentări</strong></td>
<td>PPT, PPTX</td>
</tr>
</tbody>
</table>
<h3 id="pașii-pentru-încărcare">5.3. Pașii pentru încărcare</h3>
<ol type="1">
<li><strong>Apăsați zona de selecție</strong> sau butonul <strong>„Alege fișier”</strong></li>
<li>Selectați fișierul (sau mai multe fișiere) din calculator</li>
<li>Așteptați finalizarea încărcării</li>
<li>Veți primi confirmarea că fișierul a fost adăugat</li>
</ol>
<figure>
<img src="/static/help/screenshots/06-2-upload-media-select.png" alt="Selectarea fișierului de încărcat" />
<figcaption aria-hidden="true">Selectarea fișierului de încărcat</figcaption>
</figure>
<p><em>Figura 8 Selectarea fișierului</em></p>
<h3 id="confirmarea-încărcării">5.4. Confirmarea încărcării</h3>
<p>După finalizarea încărcării, aplicația afișează un banner verde de confirmare cu mesajul <strong>„Successfully uploaded”</strong>, care indică playlist-ul în care a fost adăugat fișierul.</p>
<figure>
<img src="/static/help/screenshots/07-upload-success.png" alt="Banner de confirmare a încărcării" />
<figcaption aria-hidden="true">Banner de confirmare a încărcării</figcaption>
</figure>
<p><em>Figura 9 Bannerul „Successfully uploaded”</em></p>
<h3 id="adăugarea-unui-link-web-web-link">5.5. Adăugarea unui link web (Web Link)</h3>
<p>Pe lângă fișiere, puteți adăuga și <strong>adrese web</strong> care să fie afișate pe ecrane.</p>
<ol type="1">
<li>Selectați opțiunea <strong>„Add Web Link”</strong> / <strong>„Adaugă link web”</strong></li>
<li>Introduceți <strong>URL-ul complet</strong> (ex: <code>https://www.exemplu.ro</code>)</li>
<li>Dați un <strong>titlu</strong> pentru link</li>
<li>Salvați</li>
</ol>
<figure>
<img src="/static/help/screenshots/08-add-weblink.png" alt="Adăugarea unui link web" />
<figcaption aria-hidden="true">Adăugarea unui link web</figcaption>
</figure>
<p><em>Figura 10 Adăugarea unui link web</em></p>
<blockquote>
<p><strong>Sfat:</strong> Limita maximă pentru un fișier este de 2 GB. Pentru fișiere foarte mari, împărțiți-le sau contactați administratorul.</p>
</blockquote>
<hr />
<h2 id="managementul-playlist-urilor">6. Managementul Playlist-urilor</h2>
<p>Un <strong>playlist</strong> este o listă ordonată de conținut care se redă pe un player. Puteți avea mai multe playlist-uri pentru diferite ecrane sau situații.</p>
<h3 id="vizualizarea-playlist-urilor">6.1. Vizualizarea playlist-urilor</h3>
<p>Din meniul principal selectați <strong>„Playlists”</strong>.</p>
<figure>
<img src="/static/help/screenshots/09-playlists-list.png" alt="Lista playlist-urilor" />
<figcaption aria-hidden="true">Lista playlist-urilor</figcaption>
</figure>
<p><em>Figura 9 Lista playlist-urilor</em></p>
<p>Aici vedeți toate playlist-urile existente, cu:</p>
<table>
<thead>
<tr class="header">
<th>Element</th>
<th>Descriere</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>Nume</strong></td>
<td>Denumirea playlist-ului</td>
</tr>
<tr class="even">
<td><strong>Nr. elemente</strong></td>
<td>Câte fișiere conține</td>
</tr>
<tr class="odd">
<td><strong>Player atribuit</strong></td>
<td>Pe ce ecran se redă</td>
</tr>
<tr class="even">
<td><strong>Acțiuni</strong></td>
<td>Editare, gestionare conținut, ștergere</td>
</tr>
</tbody>
</table>
<h3 id="crearea-unui-playlist-nou">6.2. Crearea unui playlist nou</h3>
<ol type="1">
<li>Apăsați butonul <strong>„Creează Playlist”</strong> / <strong>„Create Playlist”</strong></li>
<li>Introduceți <strong>numele playlist-ului</strong> (ex: „Ecran Recepție”)</li>
<li>Opțional: adăugați o <strong>descriere</strong></li>
<li>Apăsați <strong>„Salvează”</strong></li>
</ol>
<figure>
<img src="/static/help/screenshots/10-create-playlist.png" alt="Crearea unui playlist nou" />
<figcaption aria-hidden="true">Crearea unui playlist nou</figcaption>
</figure>
<p><em>Figura 10 Crearea unui playlist</em></p>
<h3 id="gestionarea-conținutului-unui-playlist">6.3. Gestionarea conținutului unui playlist</h3>
<p>Pentru a vedea și edita conținutul unui playlist:</p>
<ol type="1">
<li>Găsiți playlist-ul în listă</li>
<li>Apăsați butonul <strong>„Gestionare”</strong> / <strong>„Manage”</strong> (sau numele playlist-ului)</li>
<li>Se deschide pagina de management a conținutului</li>
</ol>
<figure>
<img src="/static/help/screenshots/11-1-manage-playlist.png" alt="Pagina de management a playlist-ului" />
<figcaption aria-hidden="true">Pagina de management a playlist-ului</figcaption>
</figure>
<p><em>Figura 12 Accesarea managementului</em></p>
<figure>
<img src="/static/help/screenshots/11-2-manage-playlist-content.png" alt="Conținutul playlist-ului" />
<figcaption aria-hidden="true">Conținutul playlist-ului</figcaption>
</figure>
<p><em>Figura 13 Conținutul playlist-ului</em></p>
<h3 id="ștergerea-unui-playlist">6.4. Ștergerea unui playlist</h3>
<ol type="1">
<li>Găsiți playlist-ul în listă</li>
<li>Apăsați butonul <strong>Ștergere</strong></li>
<li>Confirmați</li>
</ol>
<blockquote>
<p><strong>Atenție:</strong> Ștergerea unui playlist nu șterge fișierele media. Doar lista de redare este eliminată.</p>
</blockquote>
<hr />
<h2 id="adăugarea-de-conținut-într-un-playlist">7. Adăugarea de conținut într-un Playlist</h2>
<h3 id="pași-pentru-adăugare">7.1. Pași pentru adăugare</h3>
<ol type="1">
<li>Deschideți playlist-ul (secțiunea <strong>Management</strong>)</li>
<li>Apăsați <strong>„Adaugă conținut”</strong> / <strong>„Add Content”</strong></li>
<li>Se afișează lista cu toate fișierele disponibile</li>
<li><strong>Bifați</strong> fișierele dorite (puteți selecta mai multe)</li>
<li>Apăsați <strong>„Adaugă”</strong></li>
</ol>
<figure>
<img src="/static/help/screenshots/12-add-content-to-playlist.png" alt="Selectarea conținutului de adăugat" />
<figcaption aria-hidden="true">Selectarea conținutului de adăugat</figcaption>
</figure>
<p><em>Figura 12 Adăugarea conținutului</em></p>
<h3 id="opțiuni-per-element">7.2. Opțiuni per element</h3>
<p>După adăugare, pentru fiecare element puteți configura:</p>
<table>
<thead>
<tr class="header">
<th>Opțiune</th>
<th>Descriere</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>Durată afișare</strong></td>
<td>Cât timp se afișează elementul (secunde)</td>
</tr>
<tr class="even">
<td><strong>Fără sunet (Muted)</strong></td>
<td>Dezactivează sunetul pentru acel element</td>
</tr>
<tr class="odd">
<td><strong>Editare permisă</strong></td>
<td>Permite player-ului să editeze fișierul local</td>
</tr>
</tbody>
</table>
<figure>
<img src="/static/help/screenshots/13-content-options.png" alt="Opțiunile fiecărui element" />
<figcaption aria-hidden="true">Opțiunile fiecărui element</figcaption>
</figure>
<p><em>Figura 13 Opțiunile elementelor</em></p>
<h3 id="adăugarea-unui-link-web-direct-în-playlist">7.3. Adăugarea unui link web direct în playlist</h3>
<ol type="1">
<li>În pagina de management a playlist-ului, apăsați <strong>„Adaugă link web”</strong></li>
<li>Introduceți URL-ul și titlul</li>
<li>Salvați link-ul apare în listă ca orice alt element</li>
</ol>
<hr />
<h2 id="ștergerea-unui-fișier-din-playlist">8. Ștergerea unui fișier din Playlist</h2>
<h3 id="ștergerea-unui-singur-element">8.1. Ștergerea unui singur element</h3>
<ol type="1">
<li>Deschideți playlist-ul în modul <strong>Management</strong></li>
<li>Găsiți elementul dorit în listă</li>
<li>Apăsați iconița <strong>Ștergere</strong> (X / coș de gunoi) de pe rândul respectiv</li>
<li>Confirmați dacă vi se cere</li>
</ol>
<figure>
<img src="/static/help/screenshots/14-remove-from-playlist.png" alt="Ștergerea unui element din playlist" />
<figcaption aria-hidden="true">Ștergerea unui element din playlist</figcaption>
</figure>
<p><em>Figura 14 Ștergerea unui element</em></p>
<blockquote>
<p><strong>Important:</strong> Ștergerea din playlist <strong>nu șterge fișierul</strong> din Biblioteca de Media. Fișierul rămâne disponibil pentru alte playlist-uri.</p>
</blockquote>
<h3 id="ștergerea-mai-multor-elemente-simultan-bulk-remove">8.2. Ștergerea mai multor elemente simultan (Bulk Remove)</h3>
<p>Pentru a șterge mai multe fișiere dintr-un playlist:</p>
<ol type="1">
<li>În pagina de management, <strong>bifați</strong> elementele dorite</li>
<li>Apăsați butonul <strong>„Șterge selectate”</strong> / <strong>„Bulk Remove”</strong></li>
<li>Confirmați operațiunea</li>
</ol>
<figure>
<img src="/static/help/screenshots/15-bulk-remove.png" alt="Ștergerea în masă" />
<figcaption aria-hidden="true">Ștergerea în masă</figcaption>
</figure>
<p><em>Figura 15 Ștergerea în masă</em></p>
<h3 id="diferența-ștergere-playlist-vs.-ștergere-fișier">8.3. Diferența: ștergere playlist vs. ștergere fișier</h3>
<table>
<colgroup>
<col style="width: 56%" />
<col style="width: 43%" />
</colgroup>
<thead>
<tr class="header">
<th>Acțiune</th>
<th>Efect</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>Ștergere element din playlist</strong></td>
<td>Elementul dispare din listă; fișierul rămâne în bibliotecă</td>
</tr>
<tr class="even">
<td><strong>Ștergere fișier din bibliotecă</strong></td>
<td>Fișierul dispare complet; apare ca lipsă în toate playlist-urile</td>
</tr>
<tr class="odd">
<td><strong>Ștergere playlist</strong></td>
<td>Lista dispare; toate fișierele rămân în bibliotecă</td>
</tr>
</tbody>
</table>
<hr />
<h2 id="reordonarea-conținutului-în-playlist">9. Reordonarea conținutului în Playlist</h2>
<p>Ordinea elementelor determină ordinea de afișare pe ecran.</p>
<h3 id="reordonare-prin-tragere-drag-drop">9.1. Reordonare prin tragere (drag &amp; drop)</h3>
<ol type="1">
<li>Deschideți playlist-ul în modul <strong>Management</strong></li>
<li>Apăsați și țineți apăsat pe iconița de <strong>mâner</strong> (⋮⋮) din dreptul unui element</li>
<li>Trageți elementul în poziția dorită</li>
<li>Ordinea se salvează automat</li>
</ol>
<figure>
<img src="/static/help/screenshots/16-reorder-playlist.png" alt="Reordonarea elementelor" />
<figcaption aria-hidden="true">Reordonarea elementelor</figcaption>
</figure>
<p><em>Figura 16 Reordonarea elementelor</em></p>
<h3 id="verificarea-ordinii">9.2. Verificarea ordinii</h3>
<p>După reordonare, verificați că numerele de ordine (1, 2, 3…) corespund intenției dvs.</p>
<hr />
<h2 id="managementul-playerelelor">10. Managementul Playerelelor</h2>
<p><strong>Playerele</strong> sunt ecranele fizice care afișează conținutul.</p>
<h3 id="lista-playerelor">10.1. Lista playerelor</h3>
<p>Din meniul principal selectați <strong>„Players”</strong>.</p>
<figure>
<img src="/static/help/screenshots/17-players-list.png" alt="Lista playerelor" />
<figcaption aria-hidden="true">Lista playerelor</figcaption>
</figure>
<p><em>Figura 17 Lista playerelor</em></p>
<table>
<thead>
<tr class="header">
<th>Coloană</th>
<th>Semnificație</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>Nume</strong></td>
<td>Denumirea player-ului</td>
</tr>
<tr class="even">
<td><strong>Locație</strong></td>
<td>Unde este amplasat ecranul</td>
</tr>
<tr class="odd">
<td><strong>Adresă IP</strong></td>
<td>Adresa de rețea a player-ului</td>
</tr>
<tr class="even">
<td><strong>Playlist atribuit</strong></td>
<td>Ce conținut redă</td>
</tr>
<tr class="odd">
<td><strong>Stare</strong></td>
<td>Online / Offline / Stare deploy</td>
</tr>
</tbody>
</table>
<h3 id="adăugarea-unui-player-nou">10.2. Adăugarea unui player nou</h3>
<ol type="1">
<li>Apăsați <strong>„Adaugă Player”</strong> / <strong>„Add Player”</strong></li>
<li>Completați:
<ul>
<li><strong>Nume</strong> (ex: „Ecran Hol Principal”)</li>
<li><strong>Adresă IP</strong></li>
<li><strong>Locație</strong> (opțional)</li>
</ul></li>
<li>Salvați</li>
</ol>
<figure>
<img src="/static/help/screenshots/18-1-add-player.png" alt="Adăugarea unui player" />
<figcaption aria-hidden="true">Adăugarea unui player</figcaption>
</figure>
<p><em>Figura 20 Formularul de adăugare player</em></p>
<figure>
<img src="/static/help/screenshots/18-2-add-player-filled.png" alt="Player completat" />
<figcaption aria-hidden="true">Player completat</figcaption>
</figure>
<p><em>Figura 21 Formularul completat</em></p>
<h3 id="editarea-unui-player">10.3. Editarea unui player</h3>
<ol type="1">
<li>Apăsați <strong>„Editare”</strong> / <strong>„Edit”</strong> pe rândul player-ului</li>
<li>Modificați câmpurile dorite</li>
<li>Salvați</li>
</ol>
<h3 id="atribuirea-unui-playlist-unui-player">10.4. Atribuirea unui playlist unui player</h3>
<ol type="1">
<li>În lista de playere, găsiți player-ul dorit</li>
<li>Apăsați <strong>„Atribuie Playlist”</strong> / <strong>„Assign Playlist”</strong></li>
<li>Selectați playlist-ul din listă</li>
<li>Confirmați</li>
</ol>
<figure>
<img src="/static/help/screenshots/19-1-assign-playlist.png" alt="Atribuirea unui playlist" />
<figcaption aria-hidden="true">Atribuirea unui playlist</figcaption>
</figure>
<p><em>Figura 22 Selectarea playlist-ului</em></p>
<figure>
<img src="/static/help/screenshots/19-2-assign-playlist-done.png" alt="Atribuire confirmată" />
<figcaption aria-hidden="true">Atribuire confirmată</figcaption>
</figure>
<p><em>Figura 23 Confirmarea atribuirii</em></p>
<blockquote>
<p><strong>Notă:</strong> După atribuire, player-ul va prelua noul conținut la următoarea sincronizare.</p>
</blockquote>
<h3 id="starea-de-deployment">10.5. Starea de deployment</h3>
<p>Fiecare player are o <strong>stare de deployment</strong> care arată dacă conținutul a fost trimis cu succes:</p>
<table>
<thead>
<tr class="header">
<th>Stare</th>
<th>Semnificație</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>Succes</strong></td>
<td>Conținutul a fost trimis cu succes</td>
</tr>
<tr class="even">
<td><strong>În așteptare</strong></td>
<td>Se așteaptă sincronizarea</td>
</tr>
<tr class="odd">
<td><strong>Eroare</strong></td>
<td>Trimiterea a eșuat verificați mesajul</td>
</tr>
</tbody>
</table>
<h3 id="regenerarea-cheii-de-autentificare">10.6. Regenerarea cheii de autentificare</h3>
<p>Dacă un player nu se mai poate conecta:</p>
<ol type="1">
<li>Găsiți player-ul în listă</li>
<li>Apăsați <strong>„Regenerează autentificare”</strong> / <strong>„Regenerate Auth”</strong></li>
<li>Confirmați se va genera o cheie nouă</li>
</ol>
<blockquote>
<p><strong>Atenție:</strong> Va trebui să actualizați cheia și pe player-ul fizic.</p>
</blockquote>
<hr />
<h2 id="vizualizarea-fișierelor-editate-pe-player-funcție-avansată">11. Vizualizarea fișierelor editate pe Player (funcție avansată)</h2>
<p>Această funcție vă permite să vedeți <strong>ce versiuni editate</strong> ale fișierelor există pe fiecare player. Este utilă când un player modifică local fișierele (de exemplu, suprapune informații, ajustează rezoluția etc.).</p>
<h3 id="accesarea-raportului-de-fișiere-editate">11.1. Accesarea raportului de fișiere editate</h3>
<ol type="1">
<li>Accesați secțiunea <strong>Players</strong></li>
<li>Găsiți player-ul dorit</li>
<li>Apăsați <strong>„Fișiere editate”</strong> / <strong>„Edited Media”</strong></li>
</ol>
<figure>
<img src="/static/help/screenshots/20-edited-media.png" alt="Lista fișierelor editate" />
<figcaption aria-hidden="true">Lista fișierelor editate</figcaption>
</figure>
<p><em>Figura 20 Fișierele editate</em></p>
<h3 id="ce-afișează-această-pagină">11.2. Ce afișează această pagină</h3>
<table>
<thead>
<tr class="header">
<th>Element</th>
<th>Descriere</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>Fișier original</strong></td>
<td>Fișierul din biblioteca centrală</td>
</tr>
<tr class="even">
<td><strong>Versiune editată</strong></td>
<td>Fișierul modificat pe player</td>
</tr>
<tr class="odd">
<td><strong>Data editării</strong></td>
<td>Când a fost modificat</td>
</tr>
<tr class="even">
<td><strong>Status</strong></td>
<td>Sincronizat / Diferit / Lipsă</td>
</tr>
</tbody>
</table>
<h3 id="raportul-detaliat">11.3. Raportul detaliat</h3>
<p>Pentru o vedere completă:</p>
<ol type="1">
<li>Apăsați <strong>„Raport fișiere editate”</strong> / <strong>„Edited Media Report”</strong></li>
<li>Se generează un raport cu toate diferențele</li>
</ol>
<figure>
<img src="/static/help/screenshots/21-1-edited-media-report.png" alt="Raportul fișierelor editate" />
<figcaption aria-hidden="true">Raportul fișierelor editate</figcaption>
</figure>
<p><em>Figura 26 Raportul fișierelor editate</em></p>
<figure>
<img src="/static/help/screenshots/21-2-edited-media-report-detail.png" alt="Detaliu raport" />
<figcaption aria-hidden="true">Detaliu raport</figcaption>
</figure>
<p><em>Figura 27 Detaliu din raport</em></p>
<h3 id="interpretarea-statusurilor">11.4. Interpretarea statusurilor</h3>
<table>
<colgroup>
<col style="width: 25%" />
<col style="width: 40%" />
<col style="width: 34%" />
</colgroup>
<thead>
<tr class="header">
<th>Status</th>
<th>Ce înseamnă</th>
<th>Ce faceți</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>Sincronizat</strong></td>
<td>Fișierul de pe player corespunde cu cel central</td>
<td>Nimic este în regulă</td>
</tr>
<tr class="even">
<td><strong>Diferit</strong></td>
<td>Fișierul a fost editat pe player</td>
<td>Decideți dacă păstrați sau resincronizați</td>
</tr>
<tr class="odd">
<td><strong>Lipsă</strong></td>
<td>Fișierul lipsește de pe player</td>
<td>Resincronizați player-ul</td>
</tr>
</tbody>
</table>
<h3 id="vizualizare-în-mod-ecran-complet-fullscreen">11.5. Vizualizare în mod ecran complet (Fullscreen)</h3>
<p>Pentru a vedea cum arată conținutul pe player:</p>
<ol type="1">
<li>În lista de playere, apăsați <strong>„Ecran complet”</strong> / <strong>„Fullscreen”</strong></li>
<li>Se deschide o previzualizare la scară</li>
</ol>
<figure>
<img src="/static/help/screenshots/22-player-fullscreen.png" alt="Previzualizarea fullscreen" />
<figcaption aria-hidden="true">Previzualizarea fullscreen</figcaption>
</figure>
<p><em>Figura 22 Previzualizarea fullscreen</em></p>
<hr />
<h2 id="administrare">12. Administrare</h2>
<blockquote>
<p>Această secțiune este disponibilă <strong>doar pentru administratori</strong>.</p>
</blockquote>
<h3 id="managementul-utilizatorilor">12.1. Managementul utilizatorilor</h3>
<p><strong>Admin → Users</strong></p>
<ul>
<li>Creați utilizatori noi</li>
<li>Modificați roluri (Admin / Editor / Utilizator)</li>
<li>Resetați parole</li>
<li>Ștergeți utilizatori</li>
</ul>
<figure>
<img src="/static/help/screenshots/23-1-user-management.png" alt="Managementul utilizatorilor" />
<figcaption aria-hidden="true">Managementul utilizatorilor</figcaption>
</figure>
<p><em>Figura 28 Lista utilizatorilor</em></p>
<figure>
<img src="/static/help/screenshots/23-2-user-management-edit.png" alt="Editarea unui utilizator" />
<figcaption aria-hidden="true">Editarea unui utilizator</figcaption>
</figure>
<p><em>Figura 29 Editarea unui utilizator</em></p>
<h3 id="setări-https">12.2. Setări HTTPS</h3>
<p><strong>Admin → HTTPS Configuration</strong></p>
<p>Aici configurați certificatul SSL/TLS pentru acces securizat:</p>
<ol type="1">
<li><strong>Hostname</strong> numele serverului</li>
<li><strong>Adresă IP</strong> IP-ul serverului</li>
<li><strong>Domeniu</strong> domeniul (lăsați gol pentru rețea internă)</li>
<li><strong>Email</strong> pentru notificări certificat</li>
</ol>
<figure>
<img src="/static/help/screenshots/24-https-config.png" alt="Configurarea HTTPS" />
<figcaption aria-hidden="true">Configurarea HTTPS</figcaption>
</figure>
<p><em>Figura 24 Configurarea HTTPS</em></p>
<blockquote>
<p><strong>Important:</strong> Când mutați serverul în rețeaua de producție, setați IP-ul corect (<code>10.76.152.164</code>).</p>
</blockquote>
<h3 id="personalizare-logo">12.3. Personalizare logo</h3>
<p><strong>Admin → Customize Logos</strong></p>
<ul>
<li>Încărcați logo pentru antet (header)</li>
<li>Încărcați logo pentru ecranul de login</li>
</ul>
<h3 id="dependențe-și-unelte">12.4. Dependențe și unelte</h3>
<p><strong>Admin → Dependencies</strong></p>
<p>Permite instalarea de unelte opționale:</p>
<table>
<thead>
<tr class="header">
<th>Unealtă</th>
<th>Rol</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>LibreOffice</strong></td>
<td>Conversie automată PPT/PPTX în imagini</td>
</tr>
<tr class="even">
<td><strong>Emoji Fonts</strong></td>
<td>Afișarea corectă a emoji-urilor</td>
</tr>
</tbody>
</table>
<figure>
<img src="/static/help/screenshots/25-dependencies.png" alt="Instalarea dependențelor" />
<figcaption aria-hidden="true">Instalarea dependențelor</figcaption>
</figure>
<p><em>Figura 25 Instalarea dependențelor</em></p>
<h3 id="media-rămasă-fără-utilizare">12.5. Media rămasă fără utilizare</h3>
<p><strong>Admin → Leftover Media</strong></p>
<p>Afișează fișierele care nu mai sunt folosite în niciun playlist. Le puteți șterge pentru a elibera spațiu.</p>
<h3 id="jurnale-de-sistem-logs">12.6. Jurnale de sistem (Logs)</h3>
<p><strong>Admin → System Info / Logs</strong></p>
<p>Vedeți activitatea sistemului și eventualele erori.</p>
<hr />
<h2 id="întrebări-frecvente-și-depanare">13. Întrebări frecvente și depanare</h2>
<h3 id="nu-mă-pot-autentifica">13.1. Nu mă pot autentifica</h3>
<p><strong>Simptom:</strong> Parola este respinsă. <strong>Soluție:</strong> 1. Verificați că scrieți corect numele de utilizator și parola (atenție la majuscule) 2. Dacă ați uitat parola, contactați administratorul 3. Verificați că accesați adresa corectă (cu <code>https://</code>)</p>
<h3 id="browserul-afișează-avertisment-de-certificat">13.2. Browserul afișează avertisment de certificat</h3>
<p><strong>Simptom:</strong> „Conexiunea nu este privată” / „Nu este sigur”. <strong>Soluție:</strong> Acest lucru este normal pentru rețeaua internă. Apăsați <strong>„Avansat” → „Continuă către…“</strong>. Administratorul de rețea poate furniza un certificat intern pentru a elimina avertismentul.</p>
<h3 id="fișierul-nu-se-încarcă">13.3. Fișierul nu se încarcă</h3>
<p><strong>Simptom:</strong> Încărcarea eșuează sau se blochează. <strong>Soluție:</strong> 1. Verificați că fișierul este sub limita de <strong>2 GB</strong> 2. Verificați că formatul este acceptat (PNG, JPG, MP4, PDF, PPT etc.) 3. Verificați conexiunea la rețea 4. Încercați din nou; dacă persistă, contactați administratorul</p>
<h3 id="player-ul-nu-afișează-conținutul-nou">13.4. Player-ul nu afișează conținutul nou</h3>
<p><strong>Simptom:</strong> Ați schimbat playlist-ul, dar ecranul afișează vechiul conținut. <strong>Soluție:</strong> 1. Verificați că playlist-ul este <strong>atribuit</strong> player-ului 2. Verificați <strong>starea de deployment</strong> a player-ului 3. Așteptați următoarea sincronizare (poate dura câteva minute) 4. Dacă persistă, verificați că player-ul este <strong>online</strong> și accesibil în rețea</p>
<h3 id="am-șters-un-fișier-din-bibliotecă-din-greșeală">13.5. Am șters un fișier din bibliotecă din greșeală</h3>
<p><strong>Simptom:</strong> Fișierul apare ca „lipsă” în playlist-uri. <strong>Soluție:</strong> Reîncărcați fișierul în bibliotecă și adăugați-l din nou în playlist. Dacă aveți un backup, contactați administratorul.</p>
<h3 id="playlist-ul-se-redă-în-ordine-greșită">13.6. Playlist-ul se redă în ordine greșită</h3>
<p><strong>Simptom:</strong> Elementele apar în altă ordine decât ați stabilit. <strong>Soluție:</strong> Verificați ordinea în pagina de <strong>Management</strong> a playlist-ului și reordonați folosind drag &amp; drop. Confirmați că ordinea s-a salvat.</p>
<h3 id="fișierele-editate-nu-corespund">13.7. Fișierele editate nu corespund</h3>
<p><strong>Simptom:</strong> Raportul de fișiere editate arată diferențe neașteptate. <strong>Soluție:</strong> Consultați secțiunea <a href="#114-interpretarea-statusurilor">11.4</a> pentru interpretarea statusurilor. Decideți dacă resincronizați player-ul.</p>
<hr />
<h2 id="anexă-a-glosar-de-termeni">Anexă A Glosar de termeni</h2>
<table>
<colgroup>
<col style="width: 40%" />
<col style="width: 60%" />
</colgroup>
<thead>
<tr class="header">
<th>Termen</th>
<th>Explicație</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><strong>Media</strong></td>
<td>Fișier (imagine, video, document) încărcat în sistem</td>
</tr>
<tr class="even">
<td><strong>Playlist</strong></td>
<td>Listă ordonată de conținut care se redă pe un ecran</td>
</tr>
<tr class="odd">
<td><strong>Player</strong></td>
<td>Dispozitivul/ecranul fizic care afișează conținutul</td>
</tr>
<tr class="even">
<td><strong>Deployment</strong></td>
<td>Procesul de trimitere a conținutului către player</td>
</tr>
<tr class="odd">
<td><strong>Dashboard</strong></td>
<td>Pagina principală cu statistici</td>
</tr>
<tr class="even">
<td><strong>Bibliotecă de Media</strong></td>
<td>Colecția tuturor fișierelor încărcate</td>
</tr>
<tr class="odd">
<td><strong>Bulk Remove</strong></td>
<td>Ștergerea mai multor elemente simultan</td>
</tr>
<tr class="even">
<td><strong>Edited Media</strong></td>
<td>Versiunile modificate local ale fișierelor, de pe player</td>
</tr>
<tr class="odd">
<td><strong>Web Link</strong></td>
<td>Adresă web afișată ca element în playlist</td>
</tr>
</tbody>
</table>
<hr />
<h2 id="anexă-b-lista-capturilor-de-ecran-necesare">Anexă B Lista capturilor de ecran necesare</h2>
<p>Salvați capturile în folderul <code>documentatie/screenshots/</code> cu numele exacte de mai jos:</p>
<table>
<colgroup>
<col style="width: 9%" />
<col style="width: 25%" />
<col style="width: 19%" />
<col style="width: 46%" />
</colgroup>
<thead>
<tr class="header">
<th>Nr.</th>
<th>Nume fișier</th>
<th>Secțiune</th>
<th>Ce trebuie să conțină</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>1</td>
<td><code>01-login.png</code></td>
<td>2.2</td>
<td>Ecranul de autentificare</td>
</tr>
<tr class="even">
<td>2</td>
<td><code>02-change-password.png</code></td>
<td>2.3</td>
<td>Formularul de schimbare parolă</td>
</tr>
<tr class="odd">
<td>3</td>
<td><code>03-dashboard.png</code></td>
<td>3</td>
<td>Dashboard-ul complet</td>
</tr>
<tr class="even">
<td>4</td>
<td><code>04-media-library.png</code></td>
<td>4</td>
<td>Lista fișierelor media</td>
</tr>
<tr class="odd">
<td>5</td>
<td><code>05-delete-file.png</code></td>
<td>4.4</td>
<td>Confirmarea ștergerii</td>
</tr>
<tr class="even">
<td>6</td>
<td><code>06-upload-media.png</code></td>
<td>5.1</td>
<td>Formularul de încărcare</td>
</tr>
<tr class="odd">
<td>7</td>
<td><code>07-upload-progress.png</code></td>
<td>5.3</td>
<td>Progresul încărcării</td>
</tr>
<tr class="even">
<td>8</td>
<td><code>08-add-weblink.png</code></td>
<td>5.4</td>
<td>Formularul de link web</td>
</tr>
<tr class="odd">
<td>9</td>
<td><code>09-playlists-list.png</code></td>
<td>6.1</td>
<td>Lista playlist-urilor</td>
</tr>
<tr class="even">
<td>10</td>
<td><code>10-create-playlist.png</code></td>
<td>6.2</td>
<td>Crearea unui playlist</td>
</tr>
<tr class="odd">
<td>11</td>
<td><code>11-manage-playlist.png</code></td>
<td>6.3</td>
<td>Managementul conținutului</td>
</tr>
<tr class="even">
<td>12</td>
<td><code>12-add-content-to-playlist.png</code></td>
<td>7.1</td>
<td>Selectarea conținutului</td>
</tr>
<tr class="odd">
<td>13</td>
<td><code>13-content-options.png</code></td>
<td>7.2</td>
<td>Opțiunile unui element</td>
</tr>
<tr class="even">
<td>14</td>
<td><code>14-remove-from-playlist.png</code></td>
<td>8.1</td>
<td>Ștergerea unui element</td>
</tr>
<tr class="odd">
<td>15</td>
<td><code>15-bulk-remove.png</code></td>
<td>8.2</td>
<td>Ștergerea în masă</td>
</tr>
<tr class="even">
<td>16</td>
<td><code>16-reorder-playlist.png</code></td>
<td>9.1</td>
<td>Reordonarea elementelor</td>
</tr>
<tr class="odd">
<td>17</td>
<td><code>17-players-list.png</code></td>
<td>10.1</td>
<td>Lista playerelor</td>
</tr>
<tr class="even">
<td>18</td>
<td><code>18-add-player.png</code></td>
<td>10.2</td>
<td>Adăugarea unui player</td>
</tr>
<tr class="odd">
<td>19</td>
<td><code>19-assign-playlist.png</code></td>
<td>10.4</td>
<td>Atribuirea unui playlist</td>
</tr>
<tr class="even">
<td>20</td>
<td><code>20-edited-media.png</code></td>
<td>11.1</td>
<td>Fișierele editate</td>
</tr>
<tr class="odd">
<td>21</td>
<td><code>21-edited-media-report.png</code></td>
<td>11.3</td>
<td>Raportul detaliat</td>
</tr>
<tr class="even">
<td>22</td>
<td><code>22-player-fullscreen.png</code></td>
<td>11.5</td>
<td>Previzualizarea fullscreen</td>
</tr>
<tr class="odd">
<td>23</td>
<td><code>23-user-management.png</code></td>
<td>12.1</td>
<td>Managementul utilizatorilor</td>
</tr>
<tr class="even">
<td>24</td>
<td><code>24-https-config.png</code></td>
<td>12.2</td>
<td>Configurarea HTTPS</td>
</tr>
<tr class="odd">
<td>25</td>
<td><code>25-dependencies.png</code></td>
<td>12.4</td>
<td>Instalarea dependențelor</td>
</tr>
</tbody>
</table>
<hr />
<p><em>Sfârșitul documentului</em></p>