phpVB
Platform aplikasi digital pemerintahan yang dirancang untuk kondisi nyata di lapangan — dan siap dikerjakan bersama agen AI.
Dipakai menjalankan 633 portal instansi di
*.gov3.iddari satu basis kode. Lihat juga Sandbox untuk arsitektur platform tempat phpVB berjalan.Diperbarui Oktober 2026 — versi terbaru v5.1.11.
Mengapa phpVB?
Digitalisasi pemerintahan menghadapi tantangan yang berbeda dari sektor swasta. Infrastruktur tidak selalu tersedia merata, kapasitas teknis tim bervariasi, dan kebutuhan bisa berubah seiring pergantian kepemimpinan. phpVB dibangun untuk menjawab tantangan-tantangan ini.
Kini ada tantangan baru: agen AI ikut membangun dan menjalankan aplikasi. phpVB dirancang supaya setiap aplikasi bisa dibaca, diuji, dan dikembangkan oleh agen — dengan manusia tetap memegang keputusan.
Prinsip Desain
1. Konvensi di Atas Konfigurasi
Setiap aplikasi baru mengikuti pola yang sama — struktur folder, penamaan file, alur data — semuanya sudah ditentukan oleh framework. Developer (manusia maupun agen AI) tidak perlu membuat keputusan arsitektur dari nol setiap kali membangun fitur baru.
Dampaknya: onboarding developer baru lebih cepat, kualitas antar modul konsisten, risiko kesalahan arsitektur berkurang — dan agen AI bisa membangun modul yang benar karena polanya baku.
2. Siap di Berbagai Kondisi Infrastruktur
phpVB berjalan dalam tiga tingkat kesiapan infrastruktur:
| Tingkat | Kondisi | Penyimpanan Data | Cocok Untuk |
|---|---|---|---|
| Mandiri | Tanpa database server | File teks (CSV, JSON, XML, Markdown) | Prototipe, demo, konten statis, daerah dengan keterbatasan server |
| Database Lokal | Database di server sendiri | MySQL/MariaDB | Instansi yang sudah punya data center atau server lokal |
| Database Cloud | Database cloud via API | PostgreSQL (Supabase) | Instansi yang ingin skalabilitas dan kolaborasi antar-wilayah |
Satu basis kode yang sama bisa berjalan di ketiga kondisi. Ketika infrastruktur ditingkatkan, aplikasi tidak perlu ditulis ulang — cukup ubah sumber datanya.
3. Pemisahan Tanggung Jawab yang Jelas
phpVB memisahkan kerangka dan isi secara tegas:
- Kerangka (layout, navigasi, keamanan, hak akses) diproses di server — konsisten dan terkontrol
- Isi (data, formulir, interaksi pengguna) diproses di browser — responsif dan interaktif
Analoginya seperti gedung kantor pemerintahan: struktur bangunan (dinding, koridor, pintu keamanan) sudah fixed dan dikelola oleh pengelola gedung, sementara isi ruangan (meja, kursi, peralatan kerja) diatur fleksibel oleh masing-masing unit yang menempati.
Dampaknya:
- Tim desain tampilan dan tim pengembang data bisa bekerja paralel tanpa saling menunggu
- Perubahan tampilan tidak mempengaruhi logika data, dan sebaliknya
- Keamanan terjaga di level server — tidak bergantung pada browser pengguna
4. Multi-Domain: Satu Sumber, Ratusan Portal
Satu instalasi phpVB melayani banyak domain sekaligus, masing-masing dengan halaman utama, konten, dan database sendiri. Di Gov3.id, satu instalasi melayani 633 portal pemerintah daerah dan K/L:
| Domain | Jenis | Database |
|---|---|---|
kemenpanrb.gov3.id |
Kementerian/Lembaga | database portal sendiri |
kukarkab.gov3.id |
Kabupaten | database portal sendiri |
bandungkota.gov3.id |
Kota | database portal sendiri |
Data rujukan bersama (wilayah, instansi) disimpan sekali di database pusat dan dibaca setiap portal lewat view — tanpa salinan yang bisa saling berbeda.
Keuntungan dibanding instalasi terpisah per daerah:
- Update framework sekali, semua domain ikut
- Perbaikan bug satu deploy, selesai
- Tidak perlu mengelola ratusan instalasi terpisah
Konten pun bisa dibedakan per portal tanpa menyalin kode: berkas konten di folder bernama portal (mis. md/kukarkab/) otomatis dipakai menggantikan konten umum.
5. Multi-Staging Otomatis
phpVB mengenali lingkungan kerja secara otomatis berdasarkan konvensi:
| Cara Deteksi | Lingkungan | Keterangan |
|---|---|---|
Domain localhost |
Lokal | Otomatis, untuk pengembangan di komputer developer |
Domain terdaftar di config.dev.xml |
Pengembangan | Domain dev didaftarkan di file config dev |
Domain terdaftar di config.prod.xml |
Produksi | Domain prod didaftarkan di file config prod |
| Domain belum terdaftar | Pengembangan | Fallback aman untuk domain baru |
Prinsipnya sederhana: taruh domain di file konfigurasi yang sesuai lingkungannya. phpVB mendeteksi lingkungan dari file mana yang memuat domain tersebut — tanpa konfigurasi tambahan.
Setiap lingkungan bisa memiliki sumber data dan tingkat keamanan yang berbeda, namun kode aplikasinya tetap sama. Mau tambah lingkungan baru (misalnya staging)? Cukup buat file config.staging.xml — tanpa mengubah kode.
6. Tema Tampilan per Portal dan per Aplikasi
Tampilan dipisah dari logika lewat template Twig. Tema bawaan:
| Tema | Kegunaan |
|---|---|
| Cube | Tema admin bawaan (Bootstrap 5) |
| Gelap | Varian gelap Cube |
| Sarab | Halaman publik/landing dengan panel agen AI |
| Landing Page, Coming Soon, Stylish Portfolio | Halaman publik satu-halaman |
Tema dipilih per portal, dan sejak v5.1.10 per aplikasi — dua aplikasi dalam satu portal boleh berkulit berbeda. Template Bootstrap baru dapat diporting menjadi tema tanpa mengubah aplikasi.
Siap Dikerjakan Bersama Agen AI
phpVB menyediakan antarmuka yang membuat aplikasi bisa dipahami dan dijalankan agen AI, dengan batas yang jelas:
| Kemampuan | Penjelasan |
|---|---|
| Artefak per modul | Setiap MVC menerbitkan dokumennya sendiri di /{app}/{mvc}/artefak: readme, kontrak API (manifes), catatan rilis, salinan spesifikasi (spek), dan berkas sumber |
| Spesifikasi berbasis tiket | Aplikasi dibangun dari spesifikasi yang ditulis di tiket; agen membangun MVC dari pola baku, memvalidasinya, lalu melaporkan hasil di tiket |
| Sesi atas nama pengguna | Agen menjalankan perintah aplikasi sebagai pengguna yang login — dengan peran dan hak akses pengguna itu, bukan akun super |
| Pemeriksaan data baca-saja | Endpoint agen untuk memastikan hasil simpan di database tanpa akun database baru dan tanpa hak tulis |
| Klien MCP | Aplikasi dapat mengimpor data dari layanan MCP (mis. lewat gerbang Gurita) |
| Panel samping agen | Asisten AI (Kakatua, Kancil) terbuka di panel samping portal, dengan akun SSO yang sama; halaman dapat mengirim pertanyaan langsung ke agen |
Alat pengembang pendampingnya — gov3phpvb — memetakan aplikasi phpVB yang sudah ada menjadi pola baku, lalu menyediakan generator, validator, dan uji otomatis sebagai alat MCP dan skill agen. Inilah yang dipakai agen Kancil saat membangun aplikasi dari spesifikasi.
Modul Bawaan
phpVB menyediakan modul-modul dasar yang dibutuhkan hampir semua aplikasi pemerintahan:
| Modul | Fungsi |
|---|---|
| Login & Akun | Otentikasi pengguna, pendaftaran, profil, SSO (Beo) |
| Wilayah | Hierarki wilayah administratif (provinsi, kabupaten, kecamatan, kelurahan) |
| Instansi | Struktur organisasi dan unit kerja, termasuk filter konteks instansi/wilayah |
| Pengaturan | Konfigurasi aplikasi per-modul, dengan rantai sumber (file → database → cloud) dan impor dari layanan Gov3 |
| Survei | Kuesioner dan formulir online |
| Pipe | Pipeline dan pengolahan data |
| Komponen | Tabel, formulir, navigasi, pencarian, notifikasi, chat — siap dipakai ulang |
Modul-modul ini sudah siap pakai dan bisa diperluas sesuai kebutuhan spesifik instansi.
Teknologi
| Lapisan | Teknologi |
|---|---|
| Runtime | PHP 8.4 |
| Template | Twig 3 |
| Frontend | Vue 3 + Vite, Bootstrap 5 (tanpa jQuery) |
| Database | MySQL/MariaDB, PostgreSQL via Supabase, atau file teks |
| Otentikasi | JWT + SSO (Beo, Google) |
| Kualitas kode | PHPUnit, PHPStan, PHP CS Fixer |
Garis rilis: portal produksi berjalan di garis stabil v5.0.x; aplikasi dan portal baru memakai garis v5.1.x (frontend modern). Rilis terbaru: v5.1.11 (Oktober 2026).
Keunggulan untuk Instansi Pemerintah
Tidak terkunci vendor — phpVB adalah framework open-source, bukan layanan berlangganan. Instansi memiliki kendali penuh atas kode dan data.
Investasi bertahap — Mulai dari mode mandiri (tanpa database), lalu tingkatkan ke database lokal atau cloud seiring kesiapan anggaran dan SDM.
Standar terbuka — Dibangun di atas teknologi standar industri (PHP, MySQL, PostgreSQL, Vue.js, Bootstrap) yang diajarkan di universitas dan tersedia tenaga kerjanya secara luas di Indonesia.
Keamanan terintegrasi — Sistem hak akses, otentikasi, dan SSO sudah tertanam dalam framework — bukan tambahan di kemudian hari. Agen AI pun tunduk pada hak akses yang sama dengan pengguna.
Siap era AI — Aplikasi yang dibangun dengan phpVB dapat dikembangkan dari spesifikasi oleh agen AI, dengan jejak yang dapat diaudit: tiket, kode, dan dokumen per modul.
Dokumentasi Teknis
Untuk tim pengembang, dokumentasi teknis lengkap tersedia di phpVB Wiki.
Lisensi
phpVB dirilis di bawah MIT License — lisensi open-source yang paling permisif dan banyak digunakan di dunia.
Artinya:
- Bebas digunakan untuk proyek apapun, termasuk proyek pemerintahan
- Bebas dimodifikasi sesuai kebutuhan instansi tanpa harus meminta izin
- Bebas didistribusikan ke pihak lain, termasuk vendor dan mitra kerja
- Aplikasi yang dibangun di atas phpVB boleh menggunakan lisensi berbeda — misalnya GPL untuk aplikasi pemerintahan yang dibangun dengan APBN, sesuai ketentuan yang berlaku
Satu-satunya syarat: mencantumkan notice hak cipta asli phpVB di dalam kode sumber.
Kontak
Wibisono Sastrodiwiryo — wibi@alumni.ui.ac.id