Orario Scuola
Una piattaforma web per visualizzare gli orari scolastici delle classi, degli insegnanti e dei vari laboratori (se presenti)
Requisiti
- Server web (consigliati nginx o apache2 per Linux, XAMPP per Windows)
- PHP 8.0 o successivo (configurato nel tuo server web)
- Composer
- MySQL ultima versione
Installazione
- Clona la repository e copia la cartella htdocs in una cartella accessibile dal server web
- Esempio (Debian):
git clone https://git.vichingo455.freeddns.org/emmev-code/orario
cp -r orario/htdocs/* /var/www/html/
- Installa
composer
e le estensioni di php
- Debian:
sudo apt install -y composer php-cli curl php-mysql php-curl php-mbstring php-xml php-zip
- Windows: Scarica il programma di installazione di Composer ed installalo. Assicurati di modificare il file php.ini per abilitare le estensioni mysql, curl, mbstring, xml, zip, cli.
- Installa le dipendenze del pannello d'amministrazione
- Debian:
cd /var/www/orario/admin
composer install
- Windows (con XAMPP):
cd C:\xampp\htdocs\admin
composer install
- (opzionale) Genera una password hashata
- Debian
cd /var/www/orario/utils
php generate_hash.php <password>
- Windows:
cd C:\xampp\htdocs\utils
C:\xampp\php\php.exe
- Modifica quindi questa linea nel file
schema.sql
, sostituendo l'hash predefinito con quello generato prima:
VALUES ('admin', '$2y$10$IS9v8CJNJnRXslV1NWDSquAjJ0GgU1sm6spBmGp6mjTLiNApfGcQi');
- Importa il file
schema.sql
nel tuo database MySQL - Modifica il file
db.php
cambiando l'host, il nome utente e la password
- Esempio:
$host = "localhost";
$user = "utente";
$pass = "password123";
- Modifica
admin/login.php
eadmin/logout.php
con i dati di un'istanza keycloak. In caso tu voglia usare l'autenticazione via nome utente e password (e non keycloak), cancella quei due file e rinominaadmin/login.php.backup
inlogin.php
eadmin/logout.php.backup
inlogout.php
- Esempio (
login.php
):
$oidc = new OpenIDConnectClient(
'https://keycloak.local/realms/<REALM>/',
'orario',
'abcdefghijklmnop' // opzionale se public client
);
$oidc->setRedirectURL('https://orario.local/admin/login.php');
- Esempio (
logout.php
):
header('Location: https://keycloak.local/realms/master/protocol/openid-connect/logout?post_logout_redirect_uri=https://orario.local&client_id=orario');
- Apri
http://localhost
e goditi il sito
Licenza
Orario Scuola, Copyright (C) 2025 EmmeV. This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.