Skip to content

Blog su Lazarus e il Pascal

Scrivi una volta e compila dove vuoi…

Creare una web application con lazarus

Posted on 21 Dicembre 202321 Dicembre 2023 By root

Questo articolo, vuole spiegare il contenuto di un mio progetto ospitato su GitHub, che illustra come creare una semplice web application la quale integra una http application scritta in lazarus, per la gestione del backend, con la tecnologia html5/javascript per la gestione del frontend.

Il frontend è completamente esterno all’eseguibile e si trova nel percorso ./root/ dell’eseguibile.

Questo permette di modificare la parte d’iterazione dell’utente senza dover ricompilare l’eseguibile, mentre la logica del progetto non può essere alterata facilmente se non da chi possiede i sorgenti del progetto.

Il repository GitHub lo trovate qui: https://github.com/XinYiMan/LazWebServer.git

Due soli file sono strettamente necessari nella cartella contenente il frontend index.html e login.html l’assenza del resto non crea problemi all’eseguibile. L’esempio si appoggia sul template AdminLte realizzato con bootstrap.

L’esempio in se è semplice, lanciato l’eseguibile si apre un browser all’indirizzo localhost:5555 e si deve effettuare un login, che porta a visualizzare il contenuto della pagina index.html

Le credenziali per il login sono presenti sulla form, come si può vedere nell’immagine. Una volta effettuato il login si arriva alla seguente schermata

A questo punto posso fare solo 3 tipi di iterazione, il primo è cliccare sul pulsante Click

Che popolerà i due campi vuoti con la data e il nome della settimana

Oppure cliccare sul pulsante Load data

Che popolerà una tabella con un recordset di 4 righe

L’iterazione tra fontend e backend avviene attraverso chiamate ajax da parte della pagina index.html e il risultato viene generato dalla procedura TFPController.indexRequest presente nella unit uControl, che è di fatto il controller da cui devono passare tutte le chiamata per l’iterazione tra frontend e backend.

Esiste poi una terza iterazione nell’esempio attuale la quale avviene in automatico al caricamento della pagina, popolando così il nome dell’utente (che ha effettuato) il login in alto a sinistra.

Se avessi fatto il login con un utente diverso, avrei trovato un altro valore al posto della scritta SyS Admin.

In ultima istanza rimane l’iterazione per la gestione del logout, in tal senso basterà premere sulla voce Logout presente nel menù di sinistra.

La gestione della sessione utente è basata sull’uso del token jwt salvato all’interno di un cookie. Di dafult la sessione utente ha una durata di 20 minuti di inattività (valore impostato nella unit uConsts) prima di essere considerato non più attendibile ed inibire le funzionalità del backend.

L’esempio parte con due Custom Options impostate

-dOpenSslKo
-dSmartDebugLogWriteActive

Se cambio -dOpenSslKo in -dOpenSslOk allora il progetto verrà compilato per partire in versione https (sull’argomento rimando alla guida https://blog.lazaruspascal.it/2023/05/18/creare-un-web-server-https/).

Mentre -dSmartDebugLogWriteActive fa si che i messaggi di debug vengano scritti sulla console/terminale durante l’esecuzione del software, se ometto tale valore non verrà scritto nulla, se utilizzo -dSmartDebugLogActive verrà salvato su file nel percorso GetTempDir(true) + ‘smart_debug_log.log’.

Sconsiglio l’opzione -dSmartDebugLogActive in quanto l’applicazione lavora in multithread.

A questo punto avete tutto il necessario per giocare con questo connubio, il sorgente è corredato di commenti in italiano/inglese nei punti che per me erano cruciali.

Buona programmazione!

Lazarus ed il Web

Navigazione articoli

Previous Post: Sviluppare CGI su Apache2 con InstantFpc
Next Post: Installazione di Free Pascal e Lazarus su Manjaro Linux

Archivi

  • Maggio 2025
  • Aprile 2025
  • Ottobre 2024
  • Maggio 2024
  • Marzo 2024
  • Dicembre 2023
  • Novembre 2023
  • Settembre 2023
  • Giugno 2023
  • Maggio 2023
  • Marzo 2023
  • Maggio 2022
  • Aprile 2022
  • Febbraio 2022
  • Gennaio 2022
  • Dicembre 2021

Categorie

  • Android
  • Funzioni avanzate
  • Installazione alternativa di Lazarus e Free Pascal Compiler (FPC)
  • Installazioni
  • Lazarus ed il Web
  • Lazarus, l'IDE ed i suoi strumenti
  • Sintassi e concetti base
  • Strutture dati
  • Tutorial
Vai al forum Italiano

Articoli recenti

  • Il framework Brook – tutorial 2 – un server CRUD
  • Il framework Brook – tutorial 1 – primi passi
  • Installazione di Lazarus in Linux – Risoluzione problemi
  • Autenticazione 2FA
  • Installazione di Free Pascal e Lazarus su Manjaro Linux

Commenti recenti

  1. DragoRosso su Installazione di Lazarus e Free Pascal – su Linux – tramite package manager a linea di comando

Copyright © 2025 Blog su Lazarus e il Pascal.

Powered by PressBook WordPress theme

Utilizziamo i cookie per essere sicuri che tu possa avere la migliore esperienza sul nostro sito. Se continui ad utilizzare questo sito noi assumiamo che tu ne sia felice.