DOMANDA Back-End, Front-End ... PHP,HTML,CSS...

Pubblicità
Stato
Discussione chiusa ad ulteriori risposte.

Cotrox

Utente Attivo
Messaggi
284
Reazioni
8
Punteggio
43
Salve ragazzi, vi scrivo per ricevere qualche informazione riguardo la creazione e sopratutto riguardo la PUBBLICAZIONE di sitiweb.
Ho sempre saputo dell'esistenza di piattaforme che permettono di creare il proprio spazio web e gestirlo in modo semplice ma vorrei capire come fare ad essere un vero e proprio 'privato'.

Il fatto è che non ho mai trovato nessuno in grado di spiegarmi come funzionino nel pratico certe cose... le base diciamo che potrei anche averle.. ma non so proprio come funzionino certi processi...

Ecco le mie competenze:
Design: 10/10 -> Sono principalmente un Designer ma amo la programmazione.
Front-End: 9/10 -> Me la cavo davvero bene con HTML e CSS.
Back-End: .. qui le cose si complicano..
Conosco abbastanza di Java ma non sono un veterano.
Conosco solo la sintassi di PHP ma non ci ho mai lavorato.
Conosco bene Python.

Torniamo al post. Vorrei creare un mio sito web e fino a crearlo usando HTML e CSS ci sono. Se devo caricarlo su Altervista o roba free che sia simile ci sono.
Il problema è sul back end. Io non ho alcuna idea di come si faccia ad unire front e back end. Come si possa dare la possibilità a gli utenti di iscriversi e sul retro gestire le varie info dell'utente mediante database.
Come si possa gestire una vera e propria vendita online e dunque i pagamenti e tutto il resto.
Come si creino quei meccanismi 'automatici' di conferma iscrizione, iscrizione alle newsletter e tutto il resto.

Insomma.. sapete darmi delle dritte riguardo il back-end dei siti web?
 
Io ti consiglierei di studiare bene PHP per creare un sito dinamico. Ciò ti sarà molto di aiuto per comprendere come può funzionare ciò che sta dietro ad un sito.

Potrai costruire le tue "maschere" per gestire i contenuti del database che costituiranno il back end. Gli stessi contenuti verranno utilizzati dalle pagine del sito per dare vita al front end.


Inviato dal mio Nexus 6P utilizzando Tapatalk
 
Se conosci bene python potrebbe interessarti Django
Personalmente non l'ho mai utilizzato, ma conosco gente che si è trovata molto bene. La documentazione è fatta molto bene e riesci a trovare parecchi tutorial su come utilizzarlo e collegarlo a database vari
 
Vorrei creare un mio sito web e fino a crearlo usando HTML e CSS ci sono.

Dunque dovrebbe esserti chiaro che il web server ( il software, non la macchina fisica ) non fa altro che ricevere richieste contenenti degli URL e rispondere restituendo dei file presi dal disco. I file contenenti appunto HTML, CSS, Javascript, ecc...

In genere, chi fa la richiesta è un browser, ma qualsiasi programma in grado di usare il protocollo HTTP può farlo.


Il problema è sul back end. Io non ho alcuna idea di come si faccia ad unire front e back end.

Il backend non è altro che un insieme di script ( ma possono pure essere programma compilati in linguaggio macchina ) che vengono eseguiti dal server, in risposta a delle richieste http su specifici URL ( http://www.pippopluto.com/login.php per esempio ).

E' il web server ad essere settato in modo da richiamare l'interprete php ( nell'esempio ) ogni volta che vede una richiesta per quell'URL. E questo vale per tutti i tipi di backend. Che siano php, python, java, javascript/node, c#, ecc... Esistono plugin appositi per vari web server che si occupano di gestire quest'operazione. Ed esiste uno standard generale chiamato CGI https://en.wikipedia.org/wiki/Common_Gateway_Interface

Dietro le quinte avviene il ridirezionamento dell'I/O. Cioè lo standard input del programma viene dal web server. Lo standard output ( quello che normalmente verrebbe visualizzato nel terminale del tuo sistema opeativo ) viene inviato al web server, che poi lo filtra/modifica ( se necessario ) e lo invia al client.

Come si possa dare la possibilità a gli utenti di iscriversi e sul retro gestire le varie info dell'utente mediante database.
Come si possa gestire una vera e propria vendita online e dunque i pagamenti e tutto il resto.

Tenendo in considerazione quanto scritto, ovvero che il backend è composto da uno o più script/programmi, risulta abbastanza chiaro il come. Per esempio vuoi registrare un nuovo utente. Invii una richiesta POST al web server, con i dati di registrazione, su uno specifico URL. Lo script che risponde a quell'URL, ha la capacità di estrarre i dati dal POST ( che corrisponde ai form di HTML ) ed usarli. Come? In questo caso si connetterà ad un dbms sul server ( o su un altro server apposito magari ) e salverà questi dati in una tabella del db. Stesso discorso quando bisogna leggerli per usarli.

Manca però un pezzo in questo puzzle. Ovvero i cookie! Quei mostriciattoli finiti nel mirino delle organizzazioni per la privacy. Quando tu ti logghi ad un sito web, questo sito genera un cookie di autenticazione. Questo cookie è, in genere, una stringa cifrata e convertita in BASE64, contenente un token JWT, un oggetto standardizzato che contiene varie informazioni per consentire l'identificazione dell'utente durante la sessione.

Perchè è importante ricordare che HTTP è un protocollo stateless. Cioè, i vari messaggi scambiati tra web server e browser, non contengono di loro nessun riferimento a chi è la persona che sta operando in una data sessione. Hanno dovuto inventare quest'escamotage dei cookie, proprio per consentire di individuare tutti i messaggi di una sessione, come messaggi di un dato utente, che si è loggato in un certo momento e ha poi continuato ad usare il sito.

Un'alternativa che sta diventando popolare, sono i Websocket, che invece sono stateful.


Come si creino quei meccanismi 'automatici' di conferma iscrizione, iscrizione alle newsletter e tutto il resto.

In questo caso, c'è uno script sul server, che parte ad intervalli regolari, legge magari da un db, e decide a chi mandare cosa. Una newsletter richiede l'invio di una mail. Basta usare uno script/programma che supporta il protocollo SMTP. La conferma dell'iscrizione, richiede la generazione di un codice ( che dura un tot di ore o qualche giorno ), l'URL relativo http...blahblah.../?id=codice-generato...Lo script che si occupa dell'URL, estrae quel codice e verifica che si tratti di quello inviato per email. E ovviamente attiva l'account appena registrato dall'utente.

p.s. se conosci Python, hai tutto quello che ti serve nel framework Flask...chiaro che c'è una quantità sterminata di questi strumenti, per ogni linguaggio immaginabile. Pure C++ e Rust!
 
Detto questo! Leggiti una guida php-mysql e fatti gli esercizi.. tutto ti sarà chiaro!

Inviato dal mio Nexus 6P utilizzando Tapatalk
 
Per il python, invece che flask, consiglierei Django in quanto ti costringe a mantenere una "struttura" ben definita.
Flask ti da una libertà/versatilità che all'inizio non sei propriamente in grado di gestire.

Comincia prima di tutto vedere come funziona il web (client/server, request/response, metodi, query, ecc). Anche se non in modo approfondito ti aiuterà comunque a formare una buona base di partenza.
Poi, in base al linguaggio che conosci meglio (php o python), approfondisci il resto.

NB. All'inizio Concentrati sul creare applicazioni monolitiche e lascia le api/microservice (che vanno molto gettonate al giorno d'oggi) per quando sarai molto più esperto.

PS. Magari è una dimenticanza, ma se non conosci javascript, lato frontend non sei 9/10 ma infinitamente molto meno. Se vuoi lavorare nel campo del web è un linguaggio che devi necessariamente conoscere.
 
Stato
Discussione chiusa ad ulteriori risposte.
Pubblicità
Pubblicità
Indietro
Top