Codice del sito
Le nostre pagine Web, e il codice che le generano, sono disponibili secondo la licenza GNU Affero 3.0. Tutti possono scaricare il codice, e sono i benvenuti a migliorarlo.
Il nostro sito si basa su delle pagine XHTML generate da PHP, una banca dati MySQL e un server Apache. Il codice sorgente è scaricabile attraverso due depositi Git su BitBucket, uno per le pagine Web e uno per il sistema di generazione e aggiornamento delle statistiche.
Se vuoi solo scaricare il codice del sito, basta clonare questi depositi; se vuoi dare una mano, ti sarà utile mettere in piedi un «sito locale».
Installazione locale del sito
Per installare localmente il sito ti è necessario innanzi tutto installare Apache 2.x, MySQL 5.x e PHP; se non viene fatto automaticamente dal tuo sistema di gestione dei pacchetti, è necessario installare l'estensione MySQL per PHP.
Nel seguito viene spiegato come installare una copia locale del sito su un sistema Kubuntu; nota che i percorsi indicati, sul tuo sistema, potrebbero essere leggermente diversi.
Configurazione di Apache
Dopo aver installato Apache, clona il deposito del sito in una sottocartella di /var/www, per esempio /var/www/kde. Configura quindi Apache per riconoscere il sito: supponendo che tu stia usando una distribuzione basata su Debian, come Kubuntu, aggiungi il file kde nella cartella /etc/apache2/sites-available, contenente:
<VirtualHost *:80> ServerName kde-test DocumentRoot /var/www/kde <Directory /> AllowOverride All Order deny,allow Allow from all </Directory> </VirtualHost>
Fai quindi un collegamento simbolico da sites-available/kde a sites-enabled/kde, e riavvia Apache per fargli leggere la nuova configurazione. Aggiungi inoltre in /etc/hosts la riga:
127.0.0.1 kde-test
Dovresti a questo punto poter navigare sulla copia locale del sito da questo collegamento. La pagina principale dovrebbe funzionare, ma tutte quelle che richiedono accesso alla banca dati (come pacchetti.php) non funzioneranno ancora.
Configurazione di MySQL
La configurazione di MySQL è un po' più complicata. Innanzi tutto dovrai creare una banca dati, un utente con password e dargli accesso alla banca dati. Collegati quindi a mysql come utente root (nota che l'utente root di MySQL non ha niente a che fare con l'utente root del sistema!), e digita i comandi:
CREATE DATABASE i18n_it; CREATE USER utente@localhost IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON i18n_it.* TO utente;
Dove utente e password possono essere quello che vuoi, basta che mantieni la consistenza nel seguito.
Rimane da copiare la struttura del database del sito: questa viene a volte modificata (per esempio quando abbiamo passato la soglia dei 256 iscritti...), e puoi scaricare quella attuale da qui.
Il file non contiene nessun dato (sia per sicurezza che per ridurre le dimensioni del file da scaricare), e per importare la struttura devi eseguire:
mysql i18n_it < struttura.sql -uutente -ppassword
Indicare al sistema il nome utente e la password per la banca dati
Il sistema ha bisogno di sapere come identificarsi rispetto alla banda dati MySQL per chiedere accesso alle sue tabelle. Bisogna pertanto creare un file, chiamato wallet.php, da inserire sia nella copia locale del sito che del sistema di aggiornamento:
<?php $DB_user = "utente"; $DB_password = "password"; ?>
Inoltre, nel sistema di aggiornamento, va messo un ulteriore file, wallet (senza estensione .php):
DB_USERNAME="utente" DB_PASSWORD="password"
Questi file non vanno mai caricati sui depositi, per motivi di sicurezza; il deposito sul sito centrale, ovviamente, ha le sue copie locali con il nome utente e la password usate dal sito.
Avviare il sistema
Se vuoi inserire nel sistema delle statistiche, per vedere come funzionano le tue modifiche, devi prima andare nella cartella di aggiornamento ed eseguire, solo la prima volta, lo script ritiraDeposito. Ci vorrà un po' per scaricare tutte le traduzioni italiane di KDE.
Una volta che i file sono stati scaricati, potrai avviare lo script di aggiornamento, update-stats. Anche questo ci metterà il suo tempo, ma puoi velocizzarne significativamente l'esecuzione commentando la riga che richiama inserisciTraduzioni, l'istruzione più pesante perché estrae tutte le ultime traduzioni e le inserisce nella banca dati.
Contribuire il tuo codice
Se hai fatto dei miglioramenti e vuoi introdurli nel codice del sito, ma non hai accesso in scrittura ai depositi centrali, contatta la mailing list del gruppo di traduzione.
Nota che se le tue modifiche richiedono di cambiare la struttura della banca dati (aggiungere colonne, cambiare tipi di dati, o altro), questo va fatto a mano da un amministratore; ricordati di segnalarlo prima di depositare le tue modifiche sul server centrale!