← Wszystkie wpisy

Tworzenie własnej strony

# Jak zrobiłem własną stronę internetową i prawie jej nie skończyłem

**Czyli krótka historia o Django, CSS-ie, GitHubie i klasycznym „jeszcze tylko jedna rzecz”.**

Pomysł był prosty.

Zrobię sobie stronę.

Ładną. Minimalistyczną. Białą. Szybką. Kilka animacji, portfolio, kontakt i właściwie gotowe.

**Co mogło pójść nie tak?**

Jak się później okazało — praktycznie wszystko. 😅

## Zaczęło się niewinnie

Na początku miałem bardzo konkretną wizję: dużo bieli, minimum zbędnych elementów i strona, która nie wygląda jak kolejny gotowy szablon kupiony za 19,99$.

Chciałem, żeby już pierwsze kilka sekund pokazywało charakter projektu.

Oczywiście po kilku godzinach pracy moja „prosta strona” miała już:

* animacje,
* przejścia,
* sekcję realizacji,
* formularz kontaktowy,
* blog,
* panel administracyjny,
* własną domenę,
* serwer VPS,
* SSL,
* bazę danych
* i prawdopodobnie kilka rzeczy, których początkowo absolutnie nie potrzebowałem.

Klasyka.

**„Zrobię tylko prostą stronę.”**

Największe kłamstwo każdego programisty.

## HTML i CSS, czyli przesuń to o 4 piksele

Samo napisanie strony nie było największym problemem.

Największym problemem było patrzenie na jeden element przez 15 minut i zastanawianie się:

> Czy on nie powinien być jakieś… 4 piksele bardziej w lewo?

Przesuwasz.

Patrzysz.

Cofasz.

Patrzysz.

Przesuwasz o 2 piksele.

I nagle orientujesz się, że jest druga w nocy, a jedyną rzeczą, którą zrobiłeś przez ostatnią godzinę, było przesuwanie przycisku **„Kontakt”**.

Ale przynajmniej teraz jest idealnie.

Prawdopodobnie.

## Potem pojawiło się Django

Sam statyczny HTML mi nie wystarczał.

Bo skoro już robię stronę, to przecież dobrze byłoby mieć możliwość zarządzania treścią, dodawania wpisów, obsługi formularzy i rozwijania projektu bez przepisywania połowy kodu.

I tutaj pojawił się **Python + Django**.

Nagle strona przestała być tylko stroną.

Doszły modele, widoki, URL-e, migracje, baza danych i oczywiście legendarne:

```text
python manage.py migrate
```

…które człowiek wpisuje z nadzieją, że terminal odpowie czymś przyjemnym.

Czasami odpowiada.

Czasami daje 46 linijek czerwonego tekstu i możliwość zastanowienia się nad wszystkimi decyzjami życiowymi.

## „U mnie działa”

W końcu nadszedł piękny moment.

Strona działa lokalnie.

Wszystko wygląda dobrze.

Formularze działają.

Animacje działają.

Django działa.

Czyli można wrzucać na serwer.

I wtedy zaczyna się **produkcja**.

VPS, domena, DNS, konfiguracja serwera, HTTPS, static files, zmienne środowiskowe…

Nagle odkrywasz, że istnieje ogromna różnica pomiędzy:

**„strona działa”**

a

**„strona działa w internecie”.**

Na szczęście po odpowiedniej liczbie komend, kilku poprawkach i obowiązkowym:

**„DLACZEGO TO NIE DZIAŁA?”**

…zaczęło działać.

I wtedy pojawiła się ona.

## Szara planeta

Strona stoi.

Domena działa.

HTTPS jest.

Wchodzę w przeglądarkę.

Patrzę na kartę strony.

A tam…

🌐

**szara planeta.**

Po całej konfiguracji serwera, backendu, frontendu, domeny i certyfikatu SSL najbardziej zaczął mnie denerwować brak favicony.

Priorytety.

Oczywiście trzeba było to naprawić.

Bo możesz mieć najlepszą stronę na świecie, ale kiedy obok domeny znajduje się szara planeta, człowiek czuje, jakby projekt nadal był na etapie:

**„spokojnie, jeszcze nad tym pracujemy”.**

## Git, czyli moment prawdy

Kolejnym etapem było uporządkowanie wdrażania zmian.

Kod lokalnie → GitHub → serwer.

Brzmi profesjonalnie.

W praktyce wygląda to czasami mniej więcej tak:

```bash
git status
git add .
git commit -m "poprawki"
git push
```

A pięć minut później:

```bash
git add .
git commit -m "poprawki poprawek"
git push
```

A następnie:

```bash
git commit -m "teraz serio działa"
```

Każdy projekt ma swoją historię.

Moja jest zapisana w commitach. 😂

## I właśnie za to lubię tworzenie stron

Bo tworzenie strony internetowej nie polega tylko na napisaniu HTML-a i dodaniu ładnego zdjęcia.

To połączenie designu, programowania, konfiguracji serwera, rozwiązywania problemów i ogromnej liczby małych decyzji.

Czasami przez godzinę rozwiązujesz problem, który ostatecznie wymaga zmiany jednej linijki.

Czasami zmieniasz jedną linijkę i przez godzinę naprawiasz to, co właśnie zepsułeś.

Ale jest w tym coś niesamowicie satysfakcjonującego.

Zaczynasz od pustego folderu.

A kilka dni później wpisujesz własną domenę w przeglądarce i widzisz coś, co wcześniej istniało tylko w Twojej głowie.

## Czy strona jest już skończona?

Oczywiście.

Tak samo jak każdy projekt programistyczny.

Czyli:

**nie.**

Mam już kolejne pomysły.

Kilka rzeczy chciałbym poprawić. Kilka przyspieszyć. Kilka przebudować. A przynajmniej trzy elementy prawdopodobnie zmienię tylko dlatego, że pewnego wieczoru stwierdzę:

**„A może wyglądałoby lepiej trochę bardziej w lewo?”**

I cały cykl zacznie się od nowa.

Ale właśnie o to chodzi.

**LABNØ Studio nie powstało dlatego, że chciałem po prostu mieć stronę internetową.**

Powstało dlatego, że lubię je tworzyć.

Od pierwszego pomysłu, przez projekt i kod, aż do momentu, kiedy wpisujesz adres w przeglądarce i wszystko po prostu działa.

No…

**przynajmniej do następnego deploya.** 😎

Dyskusja

Komentarze 01

Maciej

Najlepsiejsza strona po Bash.org :D

Dodaj komentarz

Twój adres e-mail nie będzie opublikowany.