Latest Post

How to host a website in Google Drive with Custom Domain


Google Drive is definitely a very good service provided by Google. It lets us to store files online.
From now Google Drive will allow web developers to host a website in it for free with 15 GB space. They announced it officially. It means all you do have to store your HTML, JavaScript, CSS files in it. Just like how you upload files requires for a website to a server.
It's a small update but a big news for web developers. So I made a website and hosted it in Google Drive. You can see live demo here :
 
Though I don't recommend you Google Drive as main hosting but it is very useful for demo website. If you are a designer then you need to demo your work for your client, then this is very useful.
In previous article I told you Why you should let Google Drive to host a file and How to store files in Google Drive. (I showed about how to host JavaScript or CSS file. Same way you can upload your files.
What you needed to host a website in Google Drive. Google's goal is mainly to get more people using Google Drive in internet as well as computing services. If you are already a user of Google Drive you may find this more effective than SkyDrive or Dropbox.

What to do to host a website in Google Drive?

  • Make your necessary files for the website.
  • Create a Folder in Google Drive
  • Share the folder as " Public on the web "
  • Upload your files (HTML, JavaScript, CSS and other files) in that folder.
  • Share the URL that looks like https://googledrive.com/host/....

Complete Guidelines with example for hosting a website in Google Drive :

Step 1 : ( Developing necessary files and folders for a website )

How you build a website that's your choice. You can make website trough simple html editor or you can use third party software ( like Artisteer ). So any how develop your necessary files. It may be consisted of HTML, JavaScript, CSS or any other files. A web developer is well known about it.
For example I use " Artisteer " to make necessary files in very short time. Here is the screenshot of necessary files : 
How to host a website in Google Drive with Custom Domain

Step 2 : ( Creating a folder in Google Drive and share as "Public on the web" )

  • Firstly go to Google Drive and click on the CREATE option, then select Folder and name it. ( Like : Dev Tunes Website )
How to host a website in Google Drive with Custom Domain
  • After creating the folder right click on it and click on " Share ".
How to host a website in Google Drive with Custom Domain
  •  And select " Public on the web " under " Who has access ".
How to host a website in Google Drive with Custom Domain

Step 3 : ( Uploading the files and folders )

Next in that folder you have to upload your files and folders. So click on the upload icon next to CREATE option and upload the files ( and folders if necessary ). For example see below :
How to host a website in Google Drive with Custom Domain

Step 4 : ( Get the link of your Website hosted in Google Drive )

The last step is getting the link. To get the link Right click on your desired file ( like: index.html ) and click on " Details " then in right side details box you can find your link somewhat looks like

https://googledrive.com/host/0BwJHRoWkN1kOaWk5RlVKYjRqRlU/index.html
  
Now your website is online. You are done.

How to add a Custom Domain for a Google Drive hosted Website ?

Although Google does not allow to add a custom domain for Google Drive hosted website. But with a the help of this website : http://gweb.io/ you can add a custom domain for your website. Just follow the steps :

Step 1 :

On that website click  " Login with Google ". Then it will be redirected to a request permission Page and there click " Accept ".

How to host a website in Google Drive with Custom Domain
Then it will take you a page containing your Google Drive files and folders. There you can easily find the folder in which your website's files and folders are hosted.
Click on the " Link " button beside the desire folder name. See an example :
How to host a website in Google Drive with Custom Domain
Then URI would somewhat like devtunes.gweb.io and " Domain? " box will be blank. Now go to your browser, type { devtunes.gweb.io } and enjoy your website. 
Note : The folder should contain an index.html file of your website. Otherwise it will just display a list of files present in that folder.

Set up your own Domain

And in the " Domain? " box you can add your Custom Domain. But before adding  a custom Domain you have to do two things.
1. Modify your domain's DNS :
Login to your DNS management account. Add or modify [ www.example.com ] CNAME record and point it to [ example.gweb.io ].
2. Set your domain on gweb.io :
You have to go to the gweb.io panel and set [ www.example.com ] as the domain for [ example.gweb.io ]
  • Without www, if you want to access example.gweb.io via example.com , you need to set up the DNS For [ example.com ] like this:
Add/modify three A records and point them to:

    75.101.163.44
   75.101.145.87
   174.129.212.2

    N.B. : Don't forget to add the domain [ example.com ]  in the gweb.io panel beside the URI link. See Docs for further information.
Now in the address bar type [ example.com ] or [ www.example.com ] and enjoy your website.

  How to solve :Node can be replaced by a TextView with compound drawables

A LinearLayout which contains an ImageView and a TextView can be more efficiently handled as a compound drawable (a single TextView, using the drawableTop, drawableLeft, drawableRight and/or drawableBottom attributes to draw one or more images adjacent to the text).  If the two widgets are offset from each other with margins, this can be replaced with a drawablePadding attribute.  There's a lint quickfix to perform this conversion in the Eclipse plugin.  Issue id: UseCompoundDrawables

Procedurile de urmat pentru crearea unui site care respectă regulile Google
creare site dupa regulile google corect
creare site reguli Google

ConsultaÈ›i Ghidul nostru  pentru începători în domeniul SEO  (Ghidul pentru începători pentru optimizarea motoarelor de căutare).
Instrucțiuni de urmat
Instrucțiunile pentru webmasteri oferă informații generale cu privire la structură, calitate și aspecte tehnice. Mai jos sunt sugestii mai detaliate pentru crearea unui site care respectă regulile Google.

Furnizați vizitatorilor informațiile pe care le caută
Oferiți conținut de înaltă calitate în paginile dvs., în special pe pagina principală: acesta este cel mai important aspect. Dacă paginile dvs. conțin informații utile, un astfel de conținut va atrage mulți vizitatori și va încuraja alți webmasteri să se conecteze la site-ul dvs. Pentru a crea un site util și informativ, introduceți pagini care descriu clar și cu exactitate subiectul. Gândiți-vă la cuvintele pe care utilizatorii le pot introduce pentru a căuta paginile dvs. și asigurați-vă că sunt incluse pe site-ul dvs.
Asigurați-vă că alte site-uri conțin link-uri către site-ul dvs.
Linkurile ajută crawlerele Google să găsească site-ul dvs. È™i le oferă o vizibilitate mai mare în rezultatele căutării noastre. Când returnează rezultatele unei căutări, Google foloseÈ™te tehnici sofisticate de potrivire a textului pentru a afiÈ™a pagini importante È™i relevante pentru fiecare căutare. Google interpretează un link de la pagina A la pagina B ca vot pentru pagina A de la pagina B. Voturile paginilor deja considerate „importante” au o pondere mai mare È™i contribuie la transformarea celorlalte pagini „importante”.

Rețineți că algoritmii Google sunt capabili să distingă între legăturile naturale și legăturile non-naturale. Linkurile naturale către site-ul dvs. se dezvoltă ca parte a naturii dinamice a Web-ului atunci când alte site-uri consideră conținutul dvs. valid și îl consideră util pentru vizitatorii lor. Linkurile nefirești sunt link-uri către site-ul dvs. inserate doar pentru a le crește popularitatea în motoarele de căutare. Unele dintre aceste tipuri de legături (cum ar fi schemele de legături și paginile doorway) sunt descrise în Ghidul nostru pentru webmasteri.

Doar linkurile naturale sunt utile pentru indexarea și poziționarea site-ului.

Faceți site-ul dvs. ușor accesibil
Construiți-vă site-ul cu o structură de legături logice. Fiecare pagină trebuie să fie accesibilă din cel puțin un link text text.

Utilizați un browser de text precum Lynx pentru a examina site-ul dvs. Majoritatea păianjenilor îți afișează site-ul așa cum ar fi Lynx. Dacă funcții precum JavaScript, cookie-uri, ID-uri de sesiune, DHTML sau Macromedia Flash vă împiedică să vizualizați întregul site într-un browser de text, păianjenii pot întâmpina probleme atunci când vă accesați site-ul.

Pentru a evita
Nu umpleÈ›i pagina cu liste de cuvinte cheie, nu încercaÈ›i să „păstraÈ›i” paginile È™i să nu creaÈ›i pagini „crawler”. Dacă site-ul dvs. conÈ›ine pagini, link-uri sau text pe care nu doriÈ›i să fie vizualizate de vizitatorii site-ului, Google va lua în considerare aceste linkuri È™i pagini înÈ™elătoare È™i vă poate ignora site-ul.

Nu te simÈ›i obligat să cumperi un serviciu de optimizare a motoarelor de căutare (SEO). Unele companii susÈ›in că „asigură” un rang ridicat al site-ului dvs. în rezultatele căutării Google. Unele companii de consultanță serioase pot îmbunătăți de fapt conÈ›inutul È™i lizibilitatea, dar există altele care folosesc metode înÈ™elătoare pentru a încerca să păcălească motoarele de căutare. AveÈ›i grijă, dacă domeniul dvs. este afiliat cu unul dintre aceste servicii înÈ™elătoare, acesta ar putea fi exclus din indexul nostru.

Nu folosiți imagini pentru a afișa nume, conținut sau legături importante. Crawler-ul Google nu recunoaște textul conținut în imagini. Utilizați atributele ALT dacă cuvintele cheie și conținutul principal de pe pagina dvs. nu pot fi formatate în HTML normal.

Multe site-uri oferă versiuni exclusiv text sau sunt potrivite pentru tipărirea paginilor care au același conținut ca paginile corespunzătoare cu elemente grafice. Dacă site-ul dvs. are conținut identic disponibil la URL-uri diferite, există mai multe modalități de a indica versiunea canonică (preferată) a unei pagini. Citiți mai multe informații despre canonicalizare.

Ia naștere Gaia-X, proiectul unui Cloud european
Gaia-X, proiectul unui Cloud european

De acum înainte Germania și Franța vor să-și controleze propriile datele fără a le mai trece prin servere americane.
Ia naștere Gaia-X, proiectul unui Cloud european, realizat pentru a nu mai depinde de companiile americane și chineze. "Datele vor deveni cea mai importantă materie primă a viitorului", afirma ministrul german al economiei.
Un acord semnat pe 19 septembrie pentru un plan comun privind inteligenÈ›a artificială aplicat producÈ›iei industriale este la baza ideii creării unei infrastructuri de tip Cloud independent de serviciile furnizate de gigantii web americani. Germania È™i FranÈ›a privesc viitorul È™i intra în ring pentru a-È™i controla datele proprii. Gaia-X, acesta este numele ales pentru proiect după cum ne informează site-ului Politico, care își doreÈ™te să evite ca forÈ›ele de poliÈ›ie, spitalele È™i alte instituÈ›ii să se bazeze pe servere Amazon, Google, IBM sau Microsoft. Pentru a folosi cuvintele preÈ™edintelui Comisiei Europene Ursula von der Leyen, pe scurt, va trebui să avem o „autonomie strategică” È™i să apărăm interesele europene.
Peter Altmaier, ministrul federal al economiei germane, pare să aibă idei clare în acest sens, după cum sintetizează Handelsblatt, un cotidian economic: "Datele vor deveni cea mai importantă materie primă a viitorului. Germania și Europa au, prin urmare, nevoie de o infrastructura care garantează suveranitatea asupra lor ". Pe de altă parte, el compară informațiile private sau datele personale cu gazul natural, o resursă care nu poate fi lăsată în mâinile câtorva state, mai ales dacă nu sunt europene.
Trebuie spus că acum, într-un regim de cvasi-monopol al companiilor americane în ceea ce privește serviciile Cloud, acest apel de a pune mâna arme vine poate puțin cam târziu decât atunci când ar fi trebuit să fie lansat. Și acest lucru nu se aplică numai Franței și Germaniei, ci privește toată Europa, inclusiv România.
De exemplu, anul trecut, Satya Nadella, È™eful Microsoft, în Milano a prezentat acordul cu Poste Italiane(PoÈ™ta Italiană). "Pentru a avea succes, nu contează dacă este vorba despre o companie sau o naÈ›iune, trebuie să îmbrățiÈ™aÈ›i tehnologia È™i instrumentele sale", a spus el cu această ocazie. Și Microsoft, ca È™i alte multinaÈ›ionale cu stele È™i dungi (americane -n.a),  are aceste instrumente, începând cu cele 54 de centre de date din întreaga lume care pot servi oricui indiferent oriunde s-ar afla.
Acum, însă, ne dăm seama că încredinÈ›area serviciilor online a datelor publice, sensibile sau strategice, reprezintă un risc prea mare pentru a putea fi gestionat È™i, prin urmare, vor trebui create structuri europene care să rivalizeze cu cele oferite de Statele Unite È™i China. ÃŽntr-un război comercial ipotetic, fără sfârÈ™it, ne-am putea găsi brusc cu fragmente de instituÈ›ii, servicii de bază pentru cetățeni sau de producÈ›ie incapabile să funcÈ›ioneze. Sau cel puÈ›in de asta se tem autoritățile din Germania È™i FranÈ›a. Nu È™tim dacă autoritățile române iau în calcul acest lucru, având în vedere apropierea strategica a României de rămășitele ursului care repara sandale stricate. Să sperăm că cineva se gândeÈ™te la asta È™i fără copiuÈ›e. 

09:22 ,

How to solve ?

Solution: install and reinstall Android Studio SDK
or deleting the \instantapps folder in C:\Users\UserName\AppData\Local\Android\Sdk\extras\google\instantapps could be the right solution

leave feedback in comments
"Install Google Play Instant Development SDK (revision: 1.6.0)" failed.

Packages to install: 
- Google Play Instant Development SDK (extras;google;instantapps)

Preparing "Install Google Play Instant Development SDK (revision: 1.6.0)".
Found existing prepared package.
"Install Google Play Instant Development SDK (revision: 1.6.0)" ready.
"Install Google Play Instant Development SDK (revision: 1.6.0)" complete.
"Install Google Play Instant Development SDK (revision: 1.6.0)" failed.
Failed to complete operation using com.android.tools.idea.sdk.install.patch.FullInstaller, retrying with com.android.repository.impl.installer.BasicInstaller
Preparing "Install Google Play Instant Development SDK (revision: 1.6.0)".
Found existing prepared package.
"Install Google Play Instant Development SDK (revision: 1.6.0)" ready.
Installing Google Play Instant Development SDK in C:\Users\Silvio\AppData\Local\Android\Sdk\extras\google\instantapps
An error occurred during installation: Failed to move away or delete existing target file: C:\Users\Silvio\AppData\Local\Android\Sdk\extras\google\instantapps
Move it away manually and try again..
"Install Google Play Instant Development SDK (revision: 1.6.0)" complete.
"Install Google Play Instant Development SDK (revision: 1.6.0)" failed.
Failed packages:
- Google Play Instant Development SDK (extras;google;instantapps)

Familia Triada

ectorul principal de atac este "familia Triada"(sugestiv, nu?), o categorie de aplicații folosite pentru a introduce în mod ilicit propuneri comerciale false și reclame în dispozitive.
Triada Malware Android

Cu o declaraÈ›ie oficială publicata pe propriul blog, Google dezvăluie descoperirea unei noi încercări de a infecta smartphone-urile Android înainte de a fi puse în vânzare. Vectorul principal de atac este "familia Triada"(sugestiv, nu?), o categorie de aplicaÈ›ii folosite pentru a introduce în mod ilicit propuneri comerciale false È™i reclame în dispozitive. ÃŽntrucât producătorii mai mici întâmpină dificultăți în crearea de aplicaÈ›ii personalizate pentru fiecare funcÈ›ie solicitată de utilizatori, aceÈ™tia sunt adesea forÈ›aÈ›i să se adreseze unor dezvoltatori terÈ›i care îi ajută la personalizarea dispozitivelor dedicate. Potrivit rapoartelor, hackerii ar fi profitat de acest pas pentru a intra în lanÈ›ul de producÈ›ie a smartphone-urilor unui producător mai mic al cărui nume nu a fost deconspirat din motive lesne de înÈ›eles. Descoperit pentru prima dată în 2016, malware-ul Triada a fost identificat È™i raportat de numeroase companii, inclusiv de Kaspersky. TotuÈ™i, cel care a descoperit capacitatea acestui program malware de a infecta dispozitivele care nu erau încă pe piață a fost site-ul Dr. Web , care a găsit infecÈ›ia în produsele companiei chineze Leagoo, specializată în crearea de clone ieftine ale smartphone-urilor Samsung. DeÈ™i Google nu numeÈ™te companiile compromise, probabil că se referă la această marcă de produse ieftine. Când a fost descoperită Triada, am implementat un sistem de identificare capabil să elimine mostrele de pe toate dispozitivele echipate cu sistemul de protecÈ›ie Google Play", se poate citi blogul celor de la Google, care conÈ›ine È™i descrierea tehnică a malware-ului. "Această caracteristică, integrată cu cea mai bună securitate oferită de dispozitivele Android, a însemnat că infecÈ›ia cu Triada a fost mult mai dificilă de realizat sau chiar imposibilă".Dar pentru Google, amintirea strategiilor de combatere a răspândirii viruÈ™ilor este, de asemenea, o modalitate de a sublinia importanÈ›a unui mecanism de control pe dispozitivele care folosesc Android. Probabil că nu este o coincidență faptul că poziÈ›ia companiei - alături de alÈ›ii - ajunge într-o perioadă în care se discută despre potenÈ›ialul abuz de poziÈ›ie dominantă exercitat de Mountain View asupra dispozitivelor care instalează sistemul de operare. DeÈ™i Android este în mod oficial un sistem de operare deschis - prin urmare, poate fi utilizat gratuit de către orice producător de smartphone-uri gratuite - dacă un producător doreÈ™te să ofere servicii Google utilizatorilor săi, trebuie să utilizeze versiunea Android lansată de companie ce conÈ›ine Play Store, Google Maps, Gmail, etc.). Tocmai prezenÈ›a lui Play  Store È™i a funcÈ›iei sale de protecÈ›ie asigură o mai mare securitate pentru un dispozitiv, își aminteÈ™te Google. Indiferent dacă are loc un atac cu un dispozitiv achiziÈ›ionat - de exemplu prin descărcarea unei aplicaÈ›ii infectate - sau în cadrul lanÈ›ului de producÈ›ie al smartphone-ului, compania oferă, de asemenea, celor mai mici producători instrumentele necesare pentru a controla aplicaÈ›iile terÈ›elor părÈ›i, concepute pentru a atenua riscul ca software-ul neautorizat să găsească o modalitate de răspândire. Și cu siguranță aceasta va fi adusă în favoarea Google în disputa cu Uniunea Europeană, care a amendat-o pentru abuzul de poziÈ›ie dominantă cu un an în urmă.

23:52 , , , , , , , , , , , , , , , , , , ,

6 ani de Android Studio


6 ani de Android Studio

Android Studio este un mediu integrat de dezvoltare (IDE) pentru dezvoltare pentru platforma Android. El a fost anunÈ›at prima data la 16 mai 2013 la o conferinÈ›a Google I / O È›inută de managerul de produs al Google, Katherine Chou. Android Studio este disponibil gratuit sub licenÈ›a Apache 2.0. Android Studio a avut premiera cu versiunea 0.1 în mai 2013, apoi a apărut în versiunea beta începând cu versiunea 0.8 lansată în iunie 2014. Prima construcÈ›ie stabilă a fost lansată în decembrie 2014, versiunea 1.0 .Bazat pe software-ul JetBrains IntelliJ IDEA, Android Studio a fost proiectat special pentru dezvoltarea aplicaÈ›iilor Android. [4] Descărcarea este disponibilă pe Windows, Mac OS X È™i Linux,  È™i înlocuieÈ™te Eclipse Android Development Tools (ADT), devenind IDE primar Google pentru dezvoltarea nativă a aplicaÈ›iilor Android.
După mai bine de 6 ani de la prima versiune a Android Studio, IDE-ul oficial pentru dezvoltarea de aplicaÈ›ii Android e disponibil pentru download în versiunea 3.3 pentru Windows, Mac È™i Linux. Android Studio e construit peste IntelliJ IDEA Java IDE È™i permite instalarea automată a tuturor instrumentelor necesare dezvoltării de aplicaÈ›ii Android. Ce este nou in 2019?  Aplicatiile pot fi scrise in limbajul de programare Java ,limbajul de programare Kotlin sau in C++ . Versiunea 3.3 vine cu tools-uri mai bune în interfaÈ›a grafica a compilatorului È™i multe alte îmbunătățiri. In curand va fi lansata si versiune 3.4 care deja este disponibila in versiunea beta din data de 10 ianuarie.

Android Studio are o interfață grafică pentru instalare din care se stabilesc setările de bază, se adaugă un emulator și ceva exemple de aplicații. O modalitate foarte eficientă pentru un începător este să folosească unul din exemple și pe baza lui să înceapă să extindă funcționalitatea aplicației sale.

Prin Android Studio se poate vedea automat interfaÈ›a aplicaÈ›iei pe diferite dimensiuni si rezoluÈ›ii, chiar È™i în diferite limbi. O funcÈ›ie ceva mai avansată este Memory Monitor, introdusă pentru a oferi informaÈ›ii legate de ocuparea resurselor – o treabă de care dezvoltatorii Android ar trebui să È›ină seama mai des.

Android Studio se folosește de Gradle pentru generarea build-urilor de aplicații.

După cum probabil vă aÈ™teptaÈ›i, Android Studio va intra È™i el în programul de update-uri pe canalele: Canary cu cele mai noi opÈ›iuni, date săptămânal, Dev cu build-uri din Canary ce sunt mai stabile (1 sau 2 pe lună), Beta – aici vor fi versiunile preview È™i în cele din urmă Stable, unde vor veni doar versiunile majore, oficiale.

Cu pasul acesta Google pășește pe urmele Microsoft și nu m-ar mira ca în următorii ani să vedem un Android Studio la un nivel de complexitate și performanță similar cu IDE-ul Visual Studio Express Edition dat de Microsoft, tot gratuit.

Pachetul poate fi luat de pe site-ul Android Developer.

How to solve ?

Solution: install and reinstall Android Studio SDK
or deleting the \instantapps folder in C:\Users\UserName\AppData\Local\Android\Sdk\extras\google\instantapps could be the right solution

leave feedback in comments
"Install Google Play Instant Development SDK (revision: 1.6.0)" failed.

Packages to install: 
- Google Play Instant Development SDK (extras;google;instantapps)

Preparing "Install Google Play Instant Development SDK (revision: 1.6.0)".
Found existing prepared package.
"Install Google Play Instant Development SDK (revision: 1.6.0)" ready.
"Install Google Play Instant Development SDK (revision: 1.6.0)" complete.
"Install Google Play Instant Development SDK (revision: 1.6.0)" failed.
Failed to complete operation using com.android.tools.idea.sdk.install.patch.FullInstaller, retrying with com.android.repository.impl.installer.BasicInstaller
Preparing "Install Google Play Instant Development SDK (revision: 1.6.0)".
Found existing prepared package.
"Install Google Play Instant Development SDK (revision: 1.6.0)" ready.
Installing Google Play Instant Development SDK in C:\Users\Silvio\AppData\Local\Android\Sdk\extras\google\instantapps
An error occurred during installation: Failed to move away or delete existing target file: C:\Users\Silvio\AppData\Local\Android\Sdk\extras\google\instantapps
Move it away manually and try again..
"Install Google Play Instant Development SDK (revision: 1.6.0)" complete.
"Install Google Play Instant Development SDK (revision: 1.6.0)" failed.
Failed packages:
- Google Play Instant Development SDK (extras;google;instantapps)

How to solve ?

Solution: install and reinstall Android Studio SDK
or deleting the \instantapps folder in C:\Users\UserName\AppData\Local\Android\Sdk\extras\google\instantapps could be the right solution

leave feedback in comments
"Install Google Play Instant Development SDK (revision: 1.6.0)" failed.

Packages to install: 
- Google Play Instant Development SDK (extras;google;instantapps)

Preparing "Install Google Play Instant Development SDK (revision: 1.6.0)".
Found existing prepared package.
"Install Google Play Instant Development SDK (revision: 1.6.0)" ready.
"Install Google Play Instant Development SDK (revision: 1.6.0)" complete.
"Install Google Play Instant Development SDK (revision: 1.6.0)" failed.
Failed to complete operation using com.android.tools.idea.sdk.install.patch.FullInstaller, retrying with com.android.repository.impl.installer.BasicInstaller
Preparing "Install Google Play Instant Development SDK (revision: 1.6.0)".
Found existing prepared package.
"Install Google Play Instant Development SDK (revision: 1.6.0)" ready.
Installing Google Play Instant Development SDK in C:\Users\Silvio\AppData\Local\Android\Sdk\extras\google\instantapps
An error occurred during installation: Failed to move away or delete existing target file: C:\Users\Silvio\AppData\Local\Android\Sdk\extras\google\instantapps
Move it away manually and try again..
"Install Google Play Instant Development SDK (revision: 1.6.0)" complete.
"Install Google Play Instant Development SDK (revision: 1.6.0)" failed.
Failed packages:
- Google Play Instant Development SDK (extras;google;instantapps)

Author Name

Formular de contact

Nume

E-mail *

Mesaj *

Un produs Blogger.