2024. április 25., csütörtök

Gyorskeresés

Útvonal

Cikkek » IT-ipar rovat

"Internetkávézó" vezérlőprogram

Ha nincs pénz és szükség sem drága, bonyolult szoftverre, akkor magunknak kell alkotunk egyet!

[ ÚJ TESZT ]

BEVEZETŐ

Kezdjük ott, hogy élesben, testközelből élem meg a témát, mint egy "internetkávézó" adminisztrátora, karbantartója, ami egy művelődési házban üzemel. Az internetet adjuk mi, hozzá a gépeket is, a kávét meg a helyi két büfé, vagy nyitvatartási idejükön túl a két kávéautomatánk.
Igaz, a kávét a gépeknél ülve tilos elfogyasztani, ahogyan szendvicset sem szabad enni. Nincs is rosszabb esti mulatság annál, mint amikor zárás után a billentyűzetből kell kivarázsolni a morzsát vagy a beleragadt cukros löttyöket. De ez most mellékes, maradjuk a tárgynál.

Amikor ide kerültem (2008. szeptemberében), teljes káosz uralkodott, úgy a gépeken, mint az adminisztrációban is. A gépek alig-alig üzemeltek, az adminisztrációt meg 1 db A4-es lapra felfirkált táblázat jelentette. Nagyon nehézkes volt a gépek használata, a nyilvántartás és a felügyelet pedig egyszerűen katasztrofális volt. Rettegtem minden egyes alkalommal, amikor minden gépünk foglalt volt és jött valaki, hogy „Mondja kérem, mikor jár le leghamarabb valamelyik gép?”. Ekkor jött egy negyedórás turkálás a papíron a feljegyzett időket kutatva, mire általában fel is szabadult már 1-2 gép, így felesleges volt az egész mutatvány.

ELŐKÉSZÜLETEK

Első körben a gépeket raktam rendbe, mind szoftveresen, mind hardveresen. Mivel semmilyen vezérlőprogram nem volt, ezért jó ideig csak nézelődtem a neten, hogy vajon milyen szoftverek léteznek az „Internetkávézó-vezérlő” címszó alatt. Találtam is nem egyet, de sajnos a használhatóak 500 EUR feletti áron lettek volna csak elérhetőek (amire a mi állami fenntartású intézményünk nem tudta előteremteni a szükséges pénzt), az olcsóbb vagy ingyenes programok meg egyszerűen használhatatlannak bizonyultak. Jobb esetben csak el sem indultak, de volt olyan, amelyik a rendszert is alaposan hazavágta. Hosszas keresgélés után feladtam és eldöntöttem: saját magam fogom elkészíteni a saját vezérlőprogramunkat.

Nagy szükség volt valamiféle vezérlőre, ugyanis – mint írtam fentebb – a gépek nem voltak zárolva, bárki lehuppanhatott eléjük, ekkor az ügyeletes admin kedvesen, ám de határozottan fel kellett, hogy szólítsa az illetőt, hogy „előbb be kell ám fizetni a díjat, utána használható csak a gép!”. A másik kellemetlenség akkor adódott, amikor valaki ugyan befizette a gépet mondjuk egy órára, de elfelejtette abbahagyni a Facebookon való chatelést, amikor letelt az ideje. Ilyenkor szintén rohangálni kellett a gépekhez és jobb belátásra bírni a sokszor erőszakos vendégeinket, akik a „bocs, csak még egy utolsó mondat!” már-már sablonossá vált szlogenjét vágták csak vissza a fejünkhöz.

VALAMIT TENNI KELLETT!

Beleuntam tehát a percekig tartó felszabaduló gépvadászatba és a „lejárt már az ideje, de nem akar hazamenni” típusú konfliktusokba, ezért leültem, és munkaidőben szépen elkészítettem a teljesen saját, azóta is (2012. szeptembere óta) szuperül működő alkalmazásomat. A program elkészült bő 1 hónap alatt, de azóta is folyamatosan fejlesztem a felmerülő igények és tapasztalatok szerint.

Mivel nem vagyok „nagy” programozó, nem is értek a komolyabb nyelveken, ugyanakkor évek óta készítek weboldalakat, így hát eldöntött kérdés volt, hogy milyen programnyelvben készítsem az alkalmazást: így lett a végeredmény egy PHP-Java-JQuery-MySQL összetételű „valami”.

FELÉPÍTÉS

A rendszer a következőképpen épül fel:

- egyrészt egy szerveroldali részből, amihez egy külön, általam telepített és konfigurált Linux szervert készítettem (Debian). Ezen fut egy Apache, PHP, MySQL hármas. Ezek hívatottak kiszolgálni a program
„motorját” és az adatbázist.
Természetesen, ha valaki Windows-zal szeretné letudni a szerverkérdést, feldobhat egy XAMMP-ot is (tesztidőszakban azzal használtam, működött azzal is jól).

- másrészt egy adminoldali részből, ami a pultnál üzemelő gépen fut, ezt kezeli az adminisztrátor, aki egyben a netkávézó ügyeletese is. Ez maga a vezérlőfelület.

- harmadrészt egy kliensoldali részből, ami pedig fut minden kinti, nyilvános gépen. Ez kommunikál a szerverrel (az admingéppel nem), onnan tudja meg, hogy mi az ő aktuális státusza (de erről később).

Tehát az admin, vezérlő felület és a kliensek is a szerverre, illetve a szerverről dolgoznak.

Az admin-vezérlő felület ugyan böngészőablakot igényel, hiszen PHP alapú, de egy kis trükkel megoldottam, hogy minél kevésbé legyen „böngésző-szagú”. Eleve olyan ablakban indul, aminek nincsen menüje, sem címsora (address bar) sem és még az ikonját is lecseréltem egyedire, egy egyszerű html favicon taggel.

Így egy nem szakavatott felhasználónak fogalma sincs róla, hogy amit lát a szeme előtt, az tulajdonképpen egy teljesen hagyományos internet böngésző és egy teljesen szabványos internetoldal. Persze sokan az olvasók közül rögtön fel fogják ismerni a képekről, hogy teljesen hagyományos CSS formázásokat és külalakot használtam. Tervben van egy későbbi finomhangolás és teljes dizájnváltás, hogy egy kicsit letisztultabb, szebb legyen, de egyelőre ezzel még várok.

Az elsődleges célom az volt, hogy minél egyszerűbben és gyorsabban fejleszthető és továbbfejleszthető legyen az alkalmazás. Funkcionalitásait tekintve felér akár egy bármilyen komolyabb fejlesztőkörnyezetben készített programmal. Legalábbis ami a mi igényeinket illeti, azért nagyvállalati szintű funkciókra nem kell gondolni, de azokra nincs is szükség.

SZEMPONTOK A TERVEZÉSKOR

Az alábbi szempontok lebegtek a szemem előtt, amikor elkezdtem fejben, majd papíron megtervezni a programot:

- Operációs rendszer független működés. Ugyanúgy induljon el Windows alatt, mint Linux vagy akár MacOS alatt. Ne legyenek kompatibilitási problémák rendszerszinten. Ne kelljen semmi pluszt felrakni hozzá az admingépre.
- Ne kelljen telepíteni: egy egyszerű, megfelelő kapcsolókkal ellátott „bat” fájl tökéletesen megtudja nyitni egy „rejtett” böngészőablakban a szerver IP vagy domain címe alapján.
- Gyors működés.
- Egyszerű, egyértelmű kezelőfelület, amit akár egy takarítónő is „el tud kattintgatni” (ez fontos szempont volt nálunk, helyettesítésekkor nem egyszer a takarítószemélyzet tagjai veszik át a felügyeletet).
- Az admin gép ne tároljon semmit: ha bezáródik, esetleg „lefagy” a program (böngésző) ablak, vagy meghibásodik az admingép, akkor ne legyen adatvesztés: mindent a szervergép tárol, a regisztrált tagok adatait és a gépek státuszát is (erről hamarosan). Az admin gép csak kiolvas és letároltatja az adatokat a szerveren.
- Ha kell, gyorsan, fennakadás nélkül lehessen fejleszteni, bővíteni, javítani: szinte észrevétlenül átírható bármelyik kódrész, vagy lecserélhető bármelyik dizájnelem, működés közben (ikonok, logók, gombok megjelenése CSS fájlban, stb).

A cikk még nem ért véget, kérlek, lapozz!

Azóta történt

Előzmények

Hirdetés

Copyright © 2000-2024 PROHARDVER Informatikai Kft.