Caietul Zenith
RO
0%

Capitolul 1 · Servere și viteză

Infrastructura web profesională: dincolo de un simplu domeniu

Coboară

Capitolul 1 · Servere și viteză

Infrastructura web profesională: dincolo de un simplu domeniu

Un domeniu este o adresă, nu o casă. Ce se află cu adevărat în spatele unui portal care răspunde repede, ține traficul și nu se oprește în ziua greșită.

18 minute de lectură 5 planșe desenate 4 probe

În acest capitol
  1. Domeniul nu ajunge
  2. Hostingul partajat
  3. Ce este un VPS
  4. Linux sau Windows Server
  5. TTFB
  6. Baza de date
  7. Cum alegi
  8. Întrebări frecvente
  9. Surse

01Un domeniu este o adresă, nu o casă

Când o afacere decide să «intre online», primul lucru cumpărat este aproape mereu un domeniu: numefirma.ro, câțiva euro pe an, și senzația că pasul a fost făcut. E un pas adevărat, dar e cel mai mic. Un domeniu este o adresă: îți spune unde să mergi, nu ce găsești când ajungi.

În spatele acelei adrese trebuie să existe un server, adică un calculator pornit zi și noapte într-un centru de date, care primește cererile vizitatorilor și răspunde cu paginile. El este casa. Și, ca la o casă adevărată, întrebările care contează sunt altele: cât de mare este, cine mai locuiește în ea cu tine, cât rezistă când sosesc o sută de musafiri în același timp, cine are cheile.

Între adresă și casă există o a treia piesă, DNS-ul: harta străzilor din Internet, care traduce numele scris de oameni în numărul (adresa IP) pe care îl înțeleg calculatoarele. Cum funcționează în detaliu domeniul, DNS-ul și certificatul HTTPS povestesc în capitolul despre ce se întâmplă când cineva îți scrie adresa. Aici ne interesează punctul de sosire: serverul.

numefirma.ro Browserul vizitatorul o scrie DNS-ul «unde stă numele?» 203.0.113.10 Serverul lucrează și răspunde Pagina apare pe ecran ADRESA HARTA STRĂZILOR CASA CONȚINUTUL Domeniul se cumpără într-un minut. Restul se proiectează. Browserul vizitatorul scrie numefirma.ro ADRESA DNS-ul traduce numele în 203.0.113.10 HARTA Serverul pregătește pagina și răspunde CASA Pagina apare pe ecran CONȚINUT Domeniul se cumpără. Restul se proiectează.
Planșa 1.1 — Drumul unei cereri. Domeniul este prima piesă și cea mai ieftină; viteza, stabilitatea și siguranța se decid în celelalte trei.

Pentru o carte de vizită online, câteva pagini care se schimbă o dată pe an, casa poate fi mică. Pentru un portal de firmă, cu clienți care intră cu propriul cont, rezervări, plăți, un program de gestiune în spate și date personale de protejat, casa este piesa care ține totul. Și tocmai aici oferta «domeniu + hosting la câțiva euro» începe să nu mai ajungă.

02Hostingul partajat: un bloc cu pereți subțiri

Hostingul partajat este formula cea mai răspândită și cea mai ieftină: un singur server fizic găzduiește sute, uneori mii, de site-uri ale unor clienți diferiți. Fiecare are dosarul și spațiul lui, dar procesorul, memoria, discul și conexiunea sunt comune. Furnizorul se ocupă de tot: actualizări, securitatea serverului, e-mail, panou de control. Tu încarci fișierele și gata.

E ca un bloc de apartamente: costă puțin pentru că cheltuielile se împart, iar cineva are grijă de părțile comune. Dar pereții sunt subțiri. Dacă vecinul dă o petrecere, adică dacă alt site primește un vârf de vizite sau are un program scris prost care consumă tot procesorul, încetinești și tu, fără să fi făcut nimic. În jargon se numește efectul «vecinului zgomotos».

HOSTING PARTAJAT site A site B site Cvârf! al tău site E site F procesor · memorie · disc COMUNE PENTRU TOȚI Vârful lui C te încetinește și pe tine. Costă puțin, decide vecinul. VPS · SERVER PRIVAT VIRTUAL VPS 1 AL TĂU2 vCPU4 GB RAM VPS 3 fiecare VPS are cota LUI garantată de hypervisor Pereți groși: resursele sunt ale tale. Cheile le ai tu (acces root). HOSTING PARTAJAT site A site B C: vârf! al tău site E site F procesor · memorie · disc COMUNE PENTRU TOȚI Vârful lui C te încetinește și pe tine. VPS · SERVER PRIVAT VIRTUAL VPS 1 AL TĂU2 vCPU4 GB RAM VPS 3 fiecare VPS are cota LUI Pereți groși: resursele sunt ale tale.
Planșa 1.2 — Blocul și pereții groși. În hostingul partajat resursele sunt ale tuturor; într-un VPS o parte din server îți este rezervată și niciun vecin nu ți-o poate lua.

Când hostingul partajat e foarte bun

Nu e un produs de disprețuit: e un produs de folosit pentru ce a fost făcut. E foarte bun pentru:

  • un site de prezentare cu câteva pagini, mai ales dacă e făcut din fișiere statice și nu interoghează o bază de date la fiecare vizită;
  • un blog personal sau al unei afaceri mici, cu trafic constant și fără vârfuri;
  • o pagină de destinație pentru o campanie sau un site de probă.

Limitele pe care le descoperi prea târziu

Problemele apar când îi ceri site-ului să devină o aplicație. Pe un hosting partajat, de obicei:

  • nu instalezi programe după bunul plac: folosești versiunea de PHP și de MySQL oferită de furnizor, atunci când o oferă;
  • există plafoane ascunse la procese simultane, memorie pe cerere, durata maximă a unui script, numărul de conexiuni la baza de date;
  • lucrările programate (trimiterea e-mailurilor din timpul nopții, backupul, sincronizarea cu programul de gestiune) au limite de frecvență sau lipsesc cu totul;
  • nu poți rula un serviciu pornit permanent, de exemplu un API în .NET sau în Node.js, ori un sistem de notificări în timp real;
  • reputația adresei IP este comună: dacă un vecin trimite spam, e-mailurile domeniului tău pot ajunge în dosarul de spam. Vorbesc despre asta în capitolul despre e-mailul profesional de firmă.

03VPS-ul: un server al tău, fără să cumperi unul

Un VPS (Virtual Private Server, server privat virtual) este o felie dintr-un server fizic puternic, separată de celelalte de un program numit hypervisor. Hypervisorul face un singur lucru, și îl face riguros: dă fiecărei felii cota ei de procesor, de memorie și de disc și împiedică o felie să atingă resursele alteia. Pentru sistemul de operare care rulează înăuntru, felia aceea este un calculator întreg.

În practică, un VPS se descrie prin trei numere: vCPU (procesoarele virtuale), RAM și spațiul pe disc, aproape mereu pe discuri rapide SSD. O configurație ca 2 vCPU, 4 GB de memorie și 40 GB de disc susține liniștit un portal de firmă cu baza lui de date, un API și lucrările programate, cât timp traficul rămâne cel al unei afaceri locale sau regionale.

Cele patru avantaje care contează

1

Resurse rezervate

Memoria și procesorul pe care le plătești sunt ale tale: vârful altui client nu te încetinește.

2

Control total

Acces de administrator: alegi sistemul, versiunile, programele, configurarea serverului web.

3

Creștere fără mutare

Dacă portalul crește, adaugi memorie și procesoare aceleiași mașini, adesea cu o simplă repornire.

4

Izolare

Un site compromis pe același server fizic nu îți vede fișierele: feliile sunt separate.

Reversul medaliei: cheile le ai tu

Un VPS «negestionat» este o casă predată goală, cu cheile în mână. Furnizorul garantează că mașina e pornită și conectată; tot restul este responsabilitatea celui care o administrează:

  • actualizările de securitate ale sistemului de operare și ale programelor;
  • firewallul, adică ce porturi sunt deschise spre Internet și care nu;
  • certificatele HTTPS și reînnoirea lor automată;
  • backupurile, care trebuie să iasă din mașină: un backup care stă pe același server dispare odată cu el. Explic asta în capitolul despre backupul de firmă și regula 3-2-1;
  • monitorizarea: să știi că site-ul s-a oprit înainte să ți-o spună un client, plus un serviciu care îl repornește singur.

De aceea adevărata întrebare nu este «hosting sau VPS», ci «VPS administrat de cine?». Un VPS lăsat de capul lui e mai puțin sigur decât un hosting partajat bun. Un VPS administrat cu metodă este cea mai solidă bază pe care o poate avea o firmă mică sau mijlocie, la o fracțiune din costul unui server dedicat.

FormulaResurseControlCine o administreazăPotrivită pentru
Hosting partajatcomune cu alte site-uripanoul furnizoruluifurnizorulsite-uri de prezentare, bloguri, pagini statice
VPSrezervate, o felie din servercomplet (root)tu sau programatorul tăuportaluri, programe de gestiune, API, magazine online
VPS gestionatrezervatelarg, cu regulifurnizorul, contra costcine vrea VPS fără să-l administreze
Server dedicato mașină fizică întreagăcomplettu sau un administrator de sistemîncărcări mari, cerințe speciale
Cloud la consumelastice, plătite la orăcomplet, dar complexun administrator de sistem experimentattrafic foarte variabil, platforme mari

Cuvintele capitolului

Șapte cuvinte ca să vorbești cu furnizorul tău

Atinge o carte ca să o întorci și să citești ce înseamnă.

04Linux sau Windows Server: cum alegi sistemul de operare

Pe VPS trebuie instalat un sistem de operare, iar alegerea se face o dată pentru ani de zile. Cele două familii sunt Linux (în distribuțiile pentru servere: Ubuntu Server, Debian, AlmaLinux, Rocky Linux) și Windows Server de la Microsoft. Nu e o chestiune de gust: depinde de ce trebuie să ruleze serverul.

Linux: alegerea firească pentru web

Marea majoritate a serverelor web din lume rulează pe Linux, din motive foarte concrete:

  • stabilitate: un server Linux bine configurat rămâne pornit luni întregi; actualizările de securitate se instalează aproape mereu fără repornire;
  • ușurință: fără interfață grafică, sistemul ocupă puțină memorie și lasă resursele aplicațiilor;
  • ecosistemul web: PHP, MySQL și MariaDB, PostgreSQL, Python, Node.js, serverele web Nginx și Apache se nasc și se testează în primul rând pe Linux;
  • nicio licență: sistemul e open source, nu plătești per procesor sau per utilizator;
  • administrare de la distanță sigură cu SSH și chei criptografice, fără desktop la distanță expus pe Internet;
  • securitate în straturi: permisiuni stricte pe fișiere și procese, firewall integrat, actualizări rapide de la comunități foarte mari.

Mitul de demontat: «.NET înseamnă Windows»

Până acum câțiva ani era adevărat. Astăzi nu mai e. Din 2016 Microsoft și-a rescris platforma ca .NET (numită înainte .NET Core), care rulează nativ pe Linux și este versiunea pe care se dezvoltă tot software-ul nou. Din 2017 există și SQL Server pentru Linux. O aplicație modernă în C# poate deci să stea pe un VPS Linux, cu aceleași avantaje de ușurință și cost ca un site în PHP.

Când Windows Server e cu adevărat indispensabil

  • când există software scris pentru vechiul .NET Framework 4.x (WebForms, servicii WCF pe server), care există doar pentru Windows și nu se mută pe .NET fără să-l rescrii parțial;
  • când firma folosește Active Directory ca să gestioneze utilizatorii, calculatoarele și permisiunile rețelei interne: controlerul de domeniu este un rol al Windows Server;
  • când trebuie să rulezi programe de gestiune care există doar pentru Windows sau să faci mai multe persoane să lucreze pe un desktop la distanță comun;
  • când îți trebuie o funcție din SQL Server care lipsește din versiunea pentru Linux (unele servicii auxiliare, cum sunt cele de rapoarte): se verifică de la caz la caz în documentația Microsoft.

În toate celelalte cazuri, Windows Server adaugă costul licențelor, mai multă memorie ocupată de sistem și o suprafață de atac mai mare, fără să dea nimic în schimb unui portal web.

Ce trebuie să ruleze serverul portalului? .NET Framework 4.x, Active Directory sau programe doar pentru Windows? DA Windows Server NU Linux PHP · MySQL · PostgreSQL · Node · Python · .NET modern licențe: zero memorie: puțină acces: SSH Ce trebuie să ruleze serverul portalului? .NET Framework 4.x, Active Directory sau programe doar pentru Windows? DA WindowsServer NU Linux și pentru .NET modern Linux: fără licențe, memorie puțină, administrare sigură prin SSH. ÎN CAZ DE DUBIU, ÎNCEPI CU LINUX
Planșa 1.3 — Întrebarea care decide sistemul de operare. Dacă niciunul dintre cele trei cazuri nu privește portalul, răspunsul e Linux, chiar și când software-ul e scris în C# cu .NET-ul modern.

Adevărat sau fals?

Cinci mituri despre servere

Pentru fiecare frază alege adevărat sau fals: explicația apare imediat.

  • O aplicație scrisă în C# trebuie neapărat să ruleze pe Windows Server.

    .NET-ul modern rulează nativ pe Linux. Windows e necesar doar pentru vechiul .NET Framework 4.x și pentru alte câteva cazuri.

  • Odată cumpărat domeniul, site-ul e deja online.

    Domeniul e doar adresa: ai nevoie de un server care să răspundă și de un DNS care să ducă adresa până la el.

  • Pe un hosting partajat, un site vecin foarte vizitat îl poate încetini și pe al tău.

    Procesorul și memoria sunt comune: e efectul «vecinului zgomotos».

  • Un VPS e sigur doar pentru că e privat.

    E izolat, dar de actualizări, firewall și backupuri trebuie să se ocupe cine îl administrează. Lăsat de capul lui e mai expus decât un hosting bun.

  • De multe ori un portal lent se accelerează mai mult reparând baza de date decât cumpărând un server mai mare.

    Indexuri corecte și interogări curate schimbă enorm timpii; un server mai puternic doar mută problema mai încolo.

05TTFB: cât așteaptă cine bate la ușă

TTFB (Time to First Byte, timpul până la primul byte) măsoară cât trece de când browserul cere o pagină până când sosește prima bucățică a răspunsului. Nu e timpul de încărcare completă: e timpul în care vizitatorul privește un ecran alb, așteptând ca serverul să înceapă să vorbească.

Google, în ghidul său pentru dezvoltatori, consideră bun un TTFB de 0,8 secunde sau mai puțin și slab unul peste 1,8 secunde. Fiecare milisecundă pierdută aici se adună la tot ce urmează: un server lent face lent chiar și cel mai ușor site.

DIN CE E FĂCUT TTFB pagină statică ≈ 0,1 s portal cu interogări lente serverul lucrează: cod + bază de date ≈ 1,4 s 0 0,4 s 0,8 s 1,2 s PRAG BUN DNS conexiune criptare TLS așteptarea răspunsului serverului Exemplu: DNS, conexiune și criptare contează puțin; diferența o face aproape mereu serverul. DIN CE E FĂCUT TTFB pagină statică · ≈ 0,1 s portal cu interogări lente · ≈ 1,4 s serverul lucrează 0 0,8 s 1,4 s PRAG DNS conexiune criptare TLS răspunsul serverului Exemplu: diferența o face aproape mereu serverul.
Planșa 1.4 — Fazele TTFB. Timpii sunt un exemplu, ca să se vadă proporțiile: într-un portal lent vinovata este aproape mereu ultima fază, cea în care serverul execută codul și interoghează baza de date.

Cum îl măsori, fără programe speciale

  • În browser: deschide Instrumentele pentru dezvoltatori (tasta F12), fila Rețea, reîncarcă pagina și apasă pe primul rând. În secțiunea timpilor, intrarea «Se așteaptă răspunsul serverului» este partea din TTFB care depinde de server.
  • Din linia de comandă: curl -o /dev/null -s -w "%{time_starttransfer}\n" https://site-ul-tau.ro/ afișează secundele până la primul byte.
  • Cu instrumente publice ca PageSpeed Insights, care arată și datele culese de la vizitatorii reali cu Chrome.

Ce scade TTFB, în ordinea eficienței

  1. O bază de date proiectată bine: indexuri corecte și interogări care cer doar ce trebuie (vedem imediat).
  2. Cache-ul: o pagină care e la fel pentru toți se calculează o dată și se livrează gata de o mie de ori.
  3. Codul: mai puțină muncă inutilă la fiecare cerere, mai puține biblioteci încărcate degeaba.
  4. Resursele rezervate: pe un VPS procesorul nu e disputat cu vecinii.
  5. Apropierea: un server în Italia sau în Europa răspunde mai repede clienților din Italia sau din România decât unul de peste ocean.
  6. Protocoalele moderne: HTTP/2 sau HTTP/3 și criptarea TLS 1.3 elimină pași din conexiune.

TTFB este doar prima dintre măsurile cu care Google evaluează experiența vizitatorului. Celelalte trei, cele care se văd în browser, le explic în capitolul despre Core Web Vitals.

06Baza de date: depozitul care decide viteza

De fiecare dată când un client intră în profilul lui, caută o disponibilitate sau se uită la o comandă, serverul pune întrebări bazei de date, adică depozitului ordonat în care stau toate datele. Cât îi ia să răspundă depinde mai puțin de puterea serverului și mult mai mult de felul în care e organizat depozitul.

Indexurile: diferența dintre a căuta și a găsi

Imaginează-ți că trebuie să găsești cuvântul «factură» într-o carte de o mie de pagini fără index alfabetic: trebuie să o răsfoiești toată. Cu indexul, mergi la litera F și găsești numărul paginii. Un index de bază de date face exact asta: în loc să citească toate rândurile unui tabel ca să găsească clienții dintr-un oraș, merge direct la cele potrivite.

FĂRĂ INDEX citește rând după rând: un milion de rânduri, un milion de citiri CU INDEX A … Z A … H I … P Q … Z «Iași» trei salturi și rândul e găsit, oricât de mare ar fi tabelul FĂRĂ INDEX rând după rând, până la capăt CU INDEX A … Z A … H I … P Q … Z «Iași» trei salturi, oricât de mare e tabelul
Planșa 1.5 — A căuta și a găsi. Fără index, baza de date citește tot tabelul; cu un index în formă de arbore ajunge la rândul potrivit în câțiva pași, iar numărul de pași crește foarte puțin chiar și când tabelul devine uriaș.

Indexurile însă nu sunt gratuite: ocupă spațiu și încetinesc puțin scrierile, pentru că la fiecare dată nouă trebuie actualizate. Se pun pe coloanele folosite cu adevărat pentru a căuta, a filtra și a lega, nu pe toate, din prudență. A decide care este muncă de proiectare și se face privind întrebările reale pe care le va pune portalul.

Interogările: cere doar ce îți trebuie

O interogare (query) este întrebarea pe care programul o pune bazei de date. Același rezultat se poate cere în moduri foarte diferite, iar diferența de viteză poate fi de o sută de ori. Greșelile cele mai frecvente, pe care le găsești în multe site-uri lente:

  • a cere toate coloanele (SELECT *) când ai nevoie de trei, transferând date inutile la fiecare cerere;
  • problema numită «N+1»: ca să arate cincizeci de comenzi, codul pune o întrebare pentru listă și apoi cincizeci de întrebări separate, câte una pentru fiecare client, în loc de o singură întrebare care leagă cele două tabele;
  • a filtra în program în loc de baza de date: descarci zece mii de rânduri ca să arăți zece;
  • a nu te uita niciodată la jurnalul interogărilor lente, nici la planul de execuție (EXPLAIN), care îți spun exact unde se chinuie baza de date.

Sunt greșeli care nu se văd cât timp datele sunt puține și care explodează când afacerea crește: portalul care în ianuarie răspundea într-o zecime de secundă, în decembrie are nevoie de trei. De aceea calitatea codului sursă cântărește în performanța serverului cât puterea mașinii, și adesea mai mult: vorbesc despre asta în capitolul următor, dedicat valorii unui profesionist al codului și limitelor inteligenței artificiale și ale page builderelor.

07Cum alegi, de la caz la caz

Punând laolaltă tot ce am văzut, alegerea infrastructurii se reduce la câteva întrebări sincere despre ce va face portalul azi și peste doi ani.

Ce ai de pus onlineCasa recomandatăSistemDe ce
Site de prezentare cu câteva pagini, statichosting partajat de calitatecel al furnizoruluinu calculează nimic: livrează fișiere
Blog sau site cu CMS și trafic constanthosting de calitate sau VPS micLinuxe nevoie de o bază de date, dar încărcarea e modestă
Portal cu conturi, rezervări, zonă de cliențiVPSLinuxresurse rezervate, servicii mereu pornite, control
Magazin online cu plăți și stocVPS, cu backup în afara sediuluiLinuxdate prețioase, vârfuri de trafic, securitate
Program de gestiune în .NET modern cu APIVPSLinux.NET rulează nativ, fără licențe
Software pe .NET Framework 4.x sau Active DirectoryVPS sau serverWindows Servernu există pentru Linux

Quiz

Serverul potrivit pentru cazul tău

Patru situații reale: alege răspunsul pe care l-ai da.

  1. Ai un site de prezentare cu cinci pagini statice, actualizat de două ori pe an. Ce alegi?

    Un site static livrează fișiere și nu calculează nimic: un hosting bun ajunge și prisosește.

  2. Portalul tău cu rezervări are un TTFB de 2 secunde. Ce verifici mai întâi?

    Aproape mereu timpul se pierde în așteptarea răspunsului serverului, adică în cod și în întrebările puse bazei de date.

  3. Firma gestionează utilizatorii și calculatoarele din birou cu Active Directory. Ce sistem trebuie pentru controlerul de domeniu?

    Active Directory este unul dintre cazurile în care Windows Server e cu adevărat indispensabil.

  4. Unde trebuie să stea backupurile unui VPS?

    Un backup pe același server dispare odată cu el. Regula completă e în capitolul despre backupul de firmă.

De nu greșit

Economia adevărată nu stă în abonamentul lunar cel mai mic: stă în a nu fi nevoit să te muți. A muta un portal cu date, conturi și e-mail de pe un hosting pe un VPS după ce lucrurile au pornit costă mult mai mult decât diferența de abonament pe câțiva ani. Alegi gândindu-te unde va fi afacerea peste doi ani, nu unde e azi.

Infrastructura este coloana vertebrală a tot ce vine după: portalul cu rezervări și PWA-ul, e-mailul de firmă, site-ul care trebuie să fie găsit. Un server ales bine nu se observă niciodată. Unul ales prost se observă mereu, de obicei în ziua cu cel mai mult de lucru.

Pune-te la încercare

Portalul tău are o casă pe măsură?

Întrebări frecvente

Este un VPS mai sigur decât un hosting partajat?

Este, dacă e administrat bine: e izolat de ceilalți clienți și îl configurezi tu. Lăsat fără actualizări și fără firewall e mai puțin sigur decât un hosting partajat bun, unde de securitatea serverului se ocupă furnizorul.

Câtă memorie îi trebuie unui VPS pentru un portal de firmă?

Pentru portalul unei afaceri locale sau regionale, cu baza lui de date și un API, 2 procesoare virtuale și 4 GB de memorie sunt un bun punct de plecare. Măsori consumul real în primele luni și crești doar dacă e nevoie, adesea fără mutare.

Pot rula o aplicație .NET pe Linux?

Da, dacă e scrisă cu .NET-ul modern (de la versiunea numită .NET Core încoace): rulează nativ pe Linux. Aplicațiile pe vechiul .NET Framework 4.x cer în schimb Windows.

Ce înseamnă un TTFB bun?

Conform ghidului Google pentru dezvoltatori, un TTFB de 0,8 secunde sau mai puțin este bun; peste 1,8 secunde este slab. Un site static servit bine rămâne de obicei mult sub prag.

Domeniul și serverul trebuie să fie la același furnizor?

Nu. Domeniul se poate înregistra la un furnizor și îndrepta spre serverul altuia, modificând înregistrările DNS. Important e ca domeniul să fie pe numele tău, cum explic în capitolul despre cine deține cu adevărat site-ul.

Surse

  1. web.dev (Google), «Time to First Byte (TTFB)»: definiția, fazele și pragurile de 0,8 și 1,8 secunde.
  2. Microsoft Learn, «Instalarea .NET pe Linux» (în italiană): distribuțiile Linux suportate de .NET-ul modern.
  3. Microsoft Learn, «Prezentare generală SQL Server pe Linux» (în italiană): SQL Server pentru Linux și funcțiile disponibile.
  4. Manualul MySQL, «How MySQL Uses Indexes»: cum evită indexurile citirea completă a tabelelor.
  5. Wikipedia, «Virtual private server» (în italiană): virtualizarea și hypervisorul.

Capitol actualizat în octombrie 2026. Pragurile și compatibilitățile citate provin din documentația oficială a producătorilor; timpii din planșe sunt exemple care arată proporțiile, nu măsurători ale unui anumit site.

Vorbim?

Dacă ce ai citit se potrivește afacerii tale, spune-mi de unde pornești: îți răspund eu, cu un plan concret și fără obligații.

Scrie-mi pe WhatsAppDescoperă Zenith Develop