Cose da fare alla svelta

Piccola sfida per realizzare una contact form. Roba semplice per un programmatore esperto, quasi impossibile per uno come me.

Devo sbrigarmi, ho poco tempo a disposizione e devo realizzare velocemente una banalissima contact page che consenta a chi visita la pagina di inviare un messaggio tramite form. Il messaggio deve essere recapitato ad uno specifico indirizzo di posta attraverso un server SMTP predefinito.

Per fare questa cose ho diverse soluzioni a disposizione:

  1. installare WordPress, aggiungere uno dei tanti plugin disponibili, creare la form e pubblicarla su una pagina specifica;
  2. realizzare una pagina statica, magari usando un template già pronto pescato nel web, e aggiungere una form tramite un servizio esterno tipo Formspree;
  3. realizzare la contact form usando uno script PHP già pronto o da sviluppare da zero o con l’aiuto di qualche libreria apposita;
  4. realizzare una mini applicazione Flask usando l’estensione Flask-Mail e pubblicarla;
  5. non fare niente.

Devo dire che l’opzione 5 è quella che preferisco, tuttavia probabilmente opterò per la 4, ovvero per la realizzazione di un’applicazione Flask. Tra l’altro Flask sarebbe una di quelle cose che avevo deciso di non utilizzare mai più, in favore di Django o Rails, ma in questo caso potrei fare un’eccezione.

Perché? Perché devo riprendere la mano con Python e quindi questa potrebbe essere una buona occasione per fare qualcosa di utile e funzionante.

Proverò ad arrivare ad una specie di MVP (minumum viable product) in un solo giorno e, se non ci riesco, probabilmente tirerò a sorte tra le altre restanti opzioni.

Requisiti

Quelli che seguono sono i requisiti minimi della form:

  1. semplice, senza fronzoli
  2. responsiva, che venga visualizzata chiaramente anche su piccoli schermi
  3. a prova di spam, tramite CAPTCHA o meccanismi simili
  4. rispettosa della privacy: i dati non devono andare altrove
  5. affidabile, con un meccanismo di conferma per la verifica del mittente

Ce la farò? No!

Però almeno ci provo. Diciamo che avrò a disposizione circa 10 ore, alle quali dovrò togliere il tempo per il pranzo. Se alle 18 avrò prodotto qualcosa di decente, allora mi riserverò di continuare anche il giorno successivo.

Ultimo aggiornamento: 2 Maggio 2024 (Gica78R)