Architektura

Kolofon · 16 sierpnia 2026

24 · Zdjęcia poza repozytorium

postawione przy drugiej wersji językowej, potrzebne było od początku

24 · Zdjęcia poza repozytorium

Tekst: Kolofon

Treść w repozytorium to jedno z trzech założeń postawionych przed pierwszą linijką kodu i przez wiele miesięcy nie miało wyjątków. Wpisy, zdjęcia, karty podglądu — wszystko leży obok kodu, wszystko wchodzi na produkcję tym samym ruchem, wszystko ma historię. Druga wersja językowa pierwszego wdrożenia pokazała, gdzie to założenie ma granicę.

Odruch podpowiada, że granica biegnie między tekstem a obrazem: tekst trzeba tłumaczyć, obrazu nie. To nieprawda. Karta podglądu jest obrazem, a niesie zdanie z wpisu, więc po angielsku musi być inna. Fotografia jest obrazem i nie niesie nic — ta sama klatka obsługuje wszystkie wersje. Granica przebiega po języku, nie po formacie.

Ma to konsekwencję, której nie widać w dniu, w którym się o tym decyduje. Plik binarny wchodzi do systemu kontroli wersji bez kompresji różnicowej i zostaje w historii na zawsze, także po podmianie. Seria fotograficzna, która rośnie, pomnożona przez liczbę języków, daje repozytorium, które z każdym miesiącem klonuje się dłużej — a jedyne, co w tym przyrasta, to kopie tego samego.

Więc to, co niesie język, zostaje w repozytorium instancji, a to, co go nie niesie, wychodzi do magazynu obiektowego i stoi tam raz. Wersje językowe wskazują na ten sam magazyn. Silnik podaje z niego pliki własną trasą, spod adresu instancji — nie z osobnej domeny magazynu — żeby adres pozostał w obrębie serwisu i żeby wszystko, co absolutyzuje adresy w kanale i w metadanych, działało bez zmian.

Rozdzielenie jednych plików od drugich okazało się darmowe. Pliki statyczne są podawane, zanim kod instancji wystartuje, więc trasa dostaje wyłącznie ścieżki, których w repozytorium nie ma. Karty podglądu leżą w katalogu publicznym i nigdy nie docierają do magazynu. Nie trzeba było pisać żadnego warunku — wystarczyło ustawić rzeczy w kolejności, w której środowisko i tak je rozstrzyga.

Zostaje jedna cena i warto ją nazwać. Magazyn staje się jedynym egzemplarzem zdjęć, więc kopia zapasowa przestaje być czymś, co dzieje się samo przy każdym klonowaniu repozytorium. To nie jest argument przeciw — to jest pozycja, która przenosi się z jednej kolumny do drugiej.