Con l’arrivo dell’estate, Bra si trasforma ancora una volta in una casa aperta, accogliente e piena di possibilità. Torna il Casa Pride Festival, alla sua seconda edizione, con un programma diffuso tra i luoghi più vivi della città: un festival che celebra la cultura queer attraverso incontri, musica, riflessioni e momenti di festa collettiva.
Il tema di questa edizione ed “Euforia“: una parola che contiene gioia, liberazione e appartenenza. Una rassegna di eventi pensati per parlare di identità, salute mentale, spiritualità, famiglie, corpi e desideri, creando spazi sicuri, condivisi e accessibili per tutta la comunità. Un festival inclusivo, fluido e coraggioso, che mette al centro le persone e i loro racconti. Organizzato da Casa Pride APS, con il patrocinio della Città di Bra e in collaborazione con realtà culturali e accademiche del territorio.
Programma della seconda edizione
Venerdì 29 maggio – ore 20 – Savigliano (CN), Sala S. Agostino Talk: Crescere Queer – Adolescenza LGBTQIA+ Un talk sull’adolescenza LGBTQIA+ che parte da due libri per aprire una conversazione necessaria. Intervengono Giulia Casalino (Referente territoriale TO, Break The Silence Italia), Barbara Rinero (Vice Presidente, CPO Savigliano / Maurice GLBTQ+ Torino) e Davide Fissore (Co-fondatore e Presidente, Casa Pride). Modera Elisa Aimo (Presidente, CPO Savigliano / Referente territoriale CN, Break The Silence Italia).
Sabato 13 giugno -ore 20 – Parco della Zizzola, Bra Concerto: Irossa Una delle band emergenti più interessanti della scena alternativa torinese apre il festival con uno show all’aperto. Irossa propone un indie-rock multiforme e sognante che mescola post-punk e art-pop, con due voci principali che si intrecciano in un suono inconfondibile. Prenotazioni su articofestival.it.
Mercoledì 17 giugno – ore 19 –Caffe Cavour, Bra
Apericena: Open In collaborazione con la Gender Equality Commission dell’Università delle Scienze Gastronomiche di Pollenzo. C’e qualcosa di politico nel sedersi allo stesso tavolo. Open e uno spazio informale dove la comunità LGBTQIA+ e chi le sta vicino si incontra: perché la connessione autentica tra persone e, di per se, un atto di resistenza.
Giovedì 18 giugno – ore 21 – Polifunzionale Arpino, Bra Talk: Esistere Una conversazione tra la Dott.ssa Agata Fiorelli Pica, psicoterapeuta con specializzazione nell’approccio queer affermativo, e Gigi Malaroda, protagonista storico del movimento LGBTQIA+ italiano. Storia, memoria e presente: una serata che vale la pena ascoltare.
Martedì 23 giugno – ore 21 -Biblioteca Civica di Bra Talk: Rivoluzione Non binaria Presentazione del libro “Rivoluzione non binaria – Viaggio nell’enbyfemminismo” di Lou Ms. Femme, attivista transfemminista, TEDx speaker e autor* trans* non binaria. Un’opera che colma un vuoto non più accettabile: l’assenza di letteratura sulle identità non binarie in Italia, intrecciando storia, antropologia e testimonianze personali.
Casa Pride Festival e Europride Torino 2027
Il Casa Pride Festival 2026 si inserisce nel cammino verso Europride Torino 2027, di cui Casa Pride APS e supporter ufficiale. Un festival diffuso che cresce insieme alla comunità e guarda al futuro del movimento LGBTQIA+ in Italia e in Europa.
Casa Pride Festival 2025
La rassegna si è aperta mercoledì 4 giugno con “Non volevo essere un duro”, un confronto sulle maschilità possibili con l’attivista Gabriele Guadagna (Mica Macho) e l’antropologa Sara Dellapiana, per riflettere insieme su emozioni e libertà dagli stereotipi.
L’11 giugno l’attenzione si è spostata sul benessere mentale delle persone queer, con l’incontro “A casa tutto bene?”, guidato da Latika Dabbene (psicoterapeuta, Casa Pride) e Francesca Mucciarone (psicologa, Quore e To-Housing).
Il 18 giugno è stata la volta di “Identità non uniformi”, un intenso dialogo sui corpi queer in contesti normati come polizia ed esercito, con Alessio Avellino (attivista trans, poliziotto e autore) e Sofia Darino (attivista trans, presidente di Maurice GLBTQ).
Il 21 giugno si è affrontato il tema della fede con “Tra cielo e arcobaleno”, un incontro tra spiritualità e queerness con il deejay e scrittore Diego Passoni, il giornalista Marco Grieco e il pastore valdese Francesco Sciotto, che hanno portato visioni differenti ma unite dal valore dell’inclusione.
Arte, musica e convivialità
Il festival non è stato solo spazio di parola, ma anche di espressione artistica e festiva.
Il 14 giugno, in collaborazione con Artico Festival, il musicista Alec Temple ha portato sul palco del Parco della Zizzola un concerto sospeso tra synth, mitologia ed elettronica.
Il 19 giugno, presso il Caffè Cavour, la Serata Open a cura della Gender Equality Commission dell’Università di Scienze Gastronomiche ha offerto un momento informale di socialità, per intrecciare relazioni e comunità.
Il culmine della festa è stato sabato 28 giugno con lo SLAY Queer Party al Giardino del Belvedere: un’esplosione di musica, libertà ed energia queer grazie al set di DJ Moonray e alla crew di Bananamia, con i dj Fuori di Head, Labe, Torretta, SuperPippo e Biskottino.
Il giorno successivo, 29 giugno, il Porticato di Corso Garibaldi ha ospitato la mostra “Pride Not Prejudice” a cura del collettivo ArteMidi, un percorso visivo che ha dato luce a corpi e identità non conformi. Nello stesso pomeriggio, al Giardino del Belvedere, la Merenda di tutte le famiglie con Famiglie Arcobaleno e Agedo ha accolto persone di ogni età, confermando lo spirito inclusivo del festival.
Un progetto che cresce
Il Casa Pride Festival ha dimostrato come, anche in una realtà di provincia, sia possibile creare uno spazio di cultura queer vivo, coraggioso e accessibile. Dialoghi, concerti, mostre e momenti comunitari hanno intrecciato pubblico e generazioni diverse, dando vita a un’esperienza che è stata allo stesso tempo celebrazione e seme di futuro.
Gestisci Consenso
Per fornire le migliori esperienze, utilizziamo tecnologie come i cookie per memorizzare e/o accedere alle informazioni del dispositivo. Il consenso a queste tecnologie ci permetterà di elaborare dati come il comportamento di navigazione o ID unici su questo sito. Non acconsentire o ritirare il consenso può influire negativamente su alcune caratteristiche e funzioni.
Funzionale
Sempre attivo
L'archiviazione tecnica o l'accesso sono strettamente necessari al fine legittimo di consentire l'uso di un servizio specifico esplicitamente richiesto dall'abbonato o dall'utente, o al solo scopo di effettuare la trasmissione di una comunicazione su una rete di comunicazione elettronica.
Preferenze
L'archiviazione tecnica o l'accesso sono necessari per lo scopo legittimo di memorizzare le preferenze che non sono richieste dall'abbonato o dall'utente.
Statistiche
L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente per scopi statistici.L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente per scopi statistici anonimi. Senza un mandato di comparizione, una conformità volontaria da parte del vostro Fornitore di Servizi Internet, o ulteriori registrazioni da parte di terzi, le informazioni memorizzate o recuperate per questo scopo da sole non possono di solito essere utilizzate per l'identificazione.
Marketing
L'archiviazione tecnica o l'accesso sono necessari per creare profili di utenti per inviare pubblicità, o per tracciare l'utente su un sito web o su diversi siti web per scopi di marketing simili.
– html/css per il la pagina web
– javascript per la gestione delle rest lato client e la renderizzazione della pagina
– java per la gestione del backend e delle rest lato server
– mysql per la gestione dei dati su db
per la creazione del progetto uso spring una piattaforma che mi permette di avere un ambiente preimpostato che permette di niettare in odo effieciete le dipendenze e l’esposizione dei vari servizi
REST tramite l’annotazione @RestController, semplificando la creazione di end-point per la comunicazione front-end-backend
Per la connesione al db aggiungo la dipendenza MySQL Driver e SPING DATA JPA che mi semplifica, viste le tempistiche, l’accesso ai dati e la gestione delle query
Tipologia di progetto spring:
– Maven in linguaggio java
– SpeingBoot 3.5.3 con packaging WAR e java 17
Per l’apertura delle porte MYSQL e Tomcat userò XAMPP
Per testare le chiamte REST prima di intergrarle nel frontend farò uso di POSTMAN , in modo da validare LE RICHIESTE IN modo rapido e controllato
Credo di mantenere, in quanto ottimamle l’architettua a tre livelli
– Interface layer (controller) espone gli endpoint REST e gestisce lo scambio dai con il front end tramite DTO
– Business layer (service) Contiene le logiche applicative
– DATABAse layer (repository) accede ai dati tramite JPA collegato al Db Mysql
‘—————————————————————————————————–
PER PRIMA COSA CREO LA CONNESSIONE E IL MIO DATABASE biblioteca utilizzando il programma Dbeaver nella sua versione portable
Creo tabelle a mano anche se JPA mi consentirebbe di mapparle attraverso le entity del mio progetto Java, questo per non rischiare di sovrascrivere o modifcare colonne in corso d’opera (sempre in relazione alle tempistiche)
Prima Tabella book
id INT chiave primaria, autoincrement not null
title Varchar(100) NOT NULL
author Varchar 100 NOT NULL
publish_year Int NOT NULL
iduser INT null
Seconda Tabella user
id INT chiave primaria, autoincrement not null
firstname Varchar(100) NOT NULL
lastname Varchar 100 NOT NULL
PREDISPONDO L’ambiente java
‘—————————————————————-
Nota: Per ragioni di tempo, non sono stati inclusi i getter e setter, ma in un contesto reale verrebbero aggiunti per garantire una gestione corretta delle entità .
‘————————————————————-
DIR Controller – Espone gli endpoint REST al frontend
–> BookControlle.java – annotation @Entities – @autowired BookService @autowired UserService
DIR Dtos – Trasferisce dati tra client e server in modo sicuro
–> BookDto.java –> Proprietà + costruttore BookDto vuoto + costruttore BookDto parametri + + costruttore BookDto (Book)
–> BookRequestDto.java –> ProprietÃ
–> UserDto.java Proprietà + costruttore UserDto vuoto + costruttore UserDto parametri + + costruttore BoUserDtookDto (User)
–> UserRequestDto.java
DIR Entities – Mappano le tabelle del database
–> Book.java annotation @Entities contierne ha un campo User user @ManyToOne e @JoinColumn (iduser) che restituiesce uno user
—> User.java annotation @Entities annotation @OneToMany mappato su “user” che restituisce una lista di libri
DIR Repositories – Gestiscono l’accesso al database
–> BookRepository.java – public Interface extended Jpa Repository annotation @Repository –> opera sulla tabella book
–> UserRepository.java – public Interface extended Jpa Repository annotation @Repository–> opera sulla tabella libri
Creo l’index.html (/resource/static/) skin base html (uso bootstrap, linkato da cdn che conosco bene e uso abitualmente) e un /static/assets/css/custom.css per le personalizzazioni. Imposto già la navigazione per le varie pagine
Creo i file html che mi servono
– listBook.html
– addbook.html
Per ciascun file creo il file js (vuoto) per le xmlhhtprequest che dovrò effettuare
NB avrei preferito usare fetch (piu bello e moderno) ma il poco tempo mi fa optare per l’xmlhhtprequest che riesco a debaggare al momnto con piu facilità . E’ piu prolisso e verboso ma per quasto meno ostico da testare,
cosi come userò DOM classico (createElement, appendChild, ecc.) per la creazione dinamica dell’html piuttosto che innerHTML con template string oppure framework/librerie come React o Vue.
‘————————-PRIMO PUNTO LISTA libri
Html –>
Tabella con col di bootstrap
JS –>
onload–> GetBooks (end point “get_books”) fa richiesta GET al controller della lista libri, la riceve, la formatta GetListBooks() e la pubblica costruendo le righe in maniera dinamica MakeHtml()
backend
CController
@GetMapping sull’endpoint get-books → GetListBooks() riceve la richiesta, controlla la congruità dei dati e la restituisce al client dopo averla fatta elaborare al service.
Service
GetListBooks() → Chiede al repository, attraverso una funzione findAll() di JPA, una lista di entità Book.
Crea dall’entità una lista di DTO e la passa al controller.
‘————————-SECONDO PUNTO ADD book
Html (addbook.html) –>
Form con campi input per l’inserimento
Button che chiama la funzione Addbook nel js (addbook.js)
Div nascoste per messaggi di errore o conferma
JS
onload → rende invisibili le div di risposta.
AddBook() → assegna i valori degli input alle variabili, controlla i campi obbligatori,
crea l’oggetto book.
Chiama l’endpoint add-book con un POST, inviando al controller un JSON con l’oggetto.
Se il libro viene inserito correttamente, riceve una risposta positiva (Created: 201)
→ valorizza e rende visibile il messaggio di OK sull’HTML.
Se il libro non viene inserito, riceve un messaggio di errore (HttpServerError specifico)
→ rende visibile il messaggio di errore sull’HTML.
BACKEND
Controller
@PostMapping sull’endpoint add-book → AddBook()
→ risponde con una ResponseEntity per poter restituire valori diversi.
Riceve la richiesta annotata con @RequestBody in forma di BookRequestDto.
Controlla la congruità dei dati; se non rispettata, restituisce una BadRequest.
Crea un BookDto e lo passa al service per l’inserimento.
Nel blocco try-catch:
se la creazione va a buon fine → ritorna al client l’oggetto creato.
se fallisce → ritorna uno status Server Error con messaggio di errore.
Service
AddBook() → riceve il BookDto, lo trasforma in entità Book
e lo salva con save() del repository.
Restituisce il nuovo oggetto creato (in DTO).
‘————————-TERZO PUNTO lIBRO IN PRESTITO
Html (CHECKOUTBOOK.html) –>
Form con campi input per l’inserimento di nome e cognome
Select dove viene pubblicata la lista dei libri disponibili
button che chiama CheckOutBook()
Div nascoste per messaggi di errore o conferma
JS
onload → rende invisibili le div di risposta, chiama GetListAvaiableBook
GetListAvaiableBook() (end point “get-avaiable-books”) fa richiesta GET al controller della lista libri non in prestito (iduser=0 o null), la riceve, la formatta e la pubblica costruendo le righe in maniera dinamica le option della select(MakeSelectOption)
CheckOutBook() , setta e valorizza le variabili degli input, controlla la congruita dei dati, chiama l’endpoint checkout-book con un POST, inviando al controller un JSON con l’oggetto formato da (id del libro, nome e gognome dell’utente).
Se il libro viene datao in prestip correttamente, riceve una risposta positiva (Created: 201)
→ valorizza e rende visibile il messaggio di OK sull’HTML.
Se il libro non viene dato in prestito, riceve un messaggio di errore (HttpServerError specifico)
→ rende visibile il messaggio di errore sull’HTML.
BACKEND
Controller
@GetMapping sull’end-point get-avaiable-books
GetListAvaiableBook chiede al service una lista di libri con iduser 0 o null
ottiene una lista BookDto disponibili
@PostMapping sull’endpoint check-out-book → CheckOutBook()
→ risponde con una ResponseEntity per poter restituire valori diversi.
Riceve la richiesta annotata con @RequestBody in forma di BookRequestDto.
Controlla la congruità dei dati; se non rispettata, restituisce una BadRequest.
Chiama il service (GetBook) passandogliid del libro ottiente uno UserDto
se questo passaggio va a buon fine
Chiama il service (FindUserByName) passandogli nomne e cognome dell.utente e ottiente uno UserDto
Se questo passaggio va a buon fine
chiama di il service passandogli BookDto e UserDto ed ottiene il bookdto aggiornato con il nuovo iduser
** tutte queste chiamate aòl service avvengono dentro un try/catch
Service Bookservice
GetListAvaiableBook() –> restituisce una lista di BookDto disponibili interrogando il repository con una query nativa (iduser=0 or null)
GetBook() → Cerca il libro attraverso jpa findById()
Restituisce il nuovo oggetto trovato o creato (come UserDTO).
CheckOutBook(). riceve uno UserDto e un BookDto
converte i dto in entitÃ
Aggiorna il Book con il nuovo user
Lo ritrasforma in dto e lo restituisce al controller
Service UserService
GetUserByName() → Cerca l’utente interrogando il repository con una query nativa coi parametri @Param(“firstname”) String firstamane, @Param(“lastname”) String lastname
Se non lo trova lo crea