 Buongiorno a tutti, un po' merigio. Vedo molti amici ma anche tantissime facce nuove, quindi è bello anche incontrare persone che non si erano mai viste. Significa che sull'argomento c'è molto interesse. Allora, questo sono io, è giusto dirvi chi è che sta parlando e un lavoro per chi sta. Abbiamo fatto recentemente molte attività legate ai blocchi di Gutenberg e quindi ho pensato di condividere con la community nei tempi ovviamente ristretti di un talk quello che si poteva condividere, cioè quanto meno come iniziare a sviluppare blocchi per Gutenberg. Questo è perché da dove nasce l'idea? Così capite anche la logica dello speech. Quando ci si avvicina per la prima volta a Gutenberg effettivamente si può essere un po' intimoriti perché dietro ci sono tante tecnologie React e JavaScript ovviamente ma Node.js e tanto tanto altro e la prima impressione che si potrebbe avere è ma adesso devo sapere tutte queste cose per incominciare a sviluppare blocchi per Gutenberg se uno non viene guidato allora alla fine può pensare anche che c'è essere un po' un attimino scoraggiato può sembrare un impresa quando poi alla fine non lo è. Per esempio Node.js ecco Node.js è una tecnologia indispensabile per sviluppare blocchi per Gutenberg ma è necessario conoscere Node.js in modo approfondito per sviluppare blocchi Gutenberg assolutamente no noi vedremo che per iniziare abbiamo bisogno di quattro cinque comandi quindi non è necessario essere degli esperti degli sviluppatori diciamo con anni di competenza e di esperienza per sviluppare blocchi Gutenberg. Basta avere la base ecco questo piccolo breve corso scorso speech vorrei provare a dare a tutti voi le basi ecco non va va posso sono troppo lontano facciamo così andiamo a mano allora vediamo un attimino prima di tutto che cos'è Gutenberg allora se usate warpress per mestiere adesso lo sapete che cos'è Gutenberg è il nuovo editor ma da un punto di vista tecnico in realtà che cos'è è un'applicazione a singola pagina sviluppata con react quindi tecnicamente è questo Gutenberg un'applicazione che funziona lavora all'interno di warpress quindi non va a sostituire un qualcosa non va a sostituire tutto il codice php o quello che noi chiamiamo core è un'applicazione che funziona suo interno infatti come sapete potete anche disabilitarlo e tornare al vecchio editor classico quindi è un'applicazione a singola pagina che lavora dentro warpress ok e quindi tanto non entriamo nel funzionamento perché lo conoscete sicuramente è benissimo questo per dare una prima definizione allora detto questo dando una definizione di Gutenberg allora andiamo a passare avanti cosa sono i blocchi sono dei mattoncini leggo che noi utilizziamo per costruire il nostro castello tecnicamente sono unità di markup quindi codice che viene eseguito e si genera quindi warpress genera in base al codice che gli viene fornito quelli che sono gli elementi che costituiscono la singola pagina o anche l'intero sito sapete che adesso con il site editor avete a disposizione menu di navigazione avete a disposizione tutti gli elementi che non costituiscono una singola pagina quindi gli elementi del contenuto ma gli elementi dell'intero sito quindi noi non siamo non abbiamo più un page builder abbiamo un site builder quindi guttenberg ha fatto ormai il passo e quindi ma da punto di vista sempre dello sviluppatore di cosa stiamo parlando in questo caso se guttenberg è un'applicazione a singola pagina i blocchi sono invece componenti di react adesso sentiamo attimino avanti che cosa sono i componenti di react quindi di che cosa stiamo parlando non dovete ovviamente diventare dei guru di react per incominciare a sviluppare blocchi però sapere che cos'è è importante sono blocchi di codice indipendenti e riutilizzabili quindi guttenberg vi fornisce una libreria di componenti che è qualcosa di spaventoso un componente può essere un pulsante può essere un blocco paragrafo può essere un componente rich text può essere una barra di strumenti tutto viene organizzato in componenti all'interno di guttenberg quindi quando voi andate a costruire a creare il vostro blocco create un nuovo blocco assemblando dei componenti potete creare componenti vostri oppure utilizzare componenti già esistenti nel core quindi potete creare le strutture più pazzesche senza dovervi inventare chissà cosa ma utilizzando le centinaia di componenti che wordpress mette a disposizione nel core di guttenberg allora quindi hanno lo stesso scopo delle funzioni javascript i componenti di react ma fa lavoro nel modo isolato e quindi restituiscono codice html un esempio ricordate widget no ecco i componenti fanno la stessa cosa però ha un livello diciamo così diverso rispetto ai widget widget genera direttamente via php quello che il codice html che viene visualizzato in un determinato posto della pagina qui invece lavoriamo a un livello diverso che è il livello dire act adesso che aspetto a il codice di un componente eccolo qua questo è un componente che genera un elemento p un paragrafo ok quindi quando voi andate a creare adesso vedremo come il vostro blocco guttenberg non farete altro che andare a creare un qualcosa del genere quindi con questo markup che viene generato attraverso codice jsx javascript extended che è un ibrido una via di mezzo diciamo così tra javascript e html e ha una caratteristica in particolare la semplicità perché vedrete che non bisognerà essere dei programmatori javascript avanzati per creare un markup che è leggermente più complesso dell'html ma una volta capito come funziona si va con un filo di gas come si suole dire allora il codice è generato da un blocco allora qual è l'output di questo blocco per vedere l'output di un blocco voi basta che traspassate dalla modalità del visual editor alla modalità del code editor e quindi cosa vi trovate vi trovate del codice html ma una cosa molto molto importante pure quel commento lassù che tra l'altro viene anche a concludere il nostro blocco di codice ecco allora quel commento si chiama delimitatore del blocco bloc del limiter delimita il blocco allora cosa succede il core di warpress interpreta quel del limiter e tratta il blocco in base alle informazioni che gli stiamo passando vedremo come si generano queste informazioni allora e quindi cosa cosa gli può dire un blocco del limiter che si chiama yp image e che stiamo aprendo un'immagine è semplicissimo e poi ci sono una serie di proprietà un piccolo getto jason con delle proprietà con l'id dell'immagine site slug large quindi è intuitivo link destination non ora non stiamo a entrare nel merito di questo questo blocco però capite bene quali tipo che tipo di informazioni vengono passate dal blocco del limiter a wordpress così wordpress interpreta e genera il codice corrispondente e questo che voi quando sviluppate un blocco andate a creare ok quindi già avete un'idea dell'output allora ed eccoci qua quindi questa premessa solo per dirci che cos'è guttenberg cosa sono i blocchi e cosa sono i componenti allora adesso ci mettiamo direttamente al lavoro cosa ci serve per sviluppare blocchi come ho detto non ci serve assolutamente essere sviluppatori professionisti basta avere un po' di dimestichezza con ovviamente html css e javascript un minimo ma una volta che noi abbiamo le competenze per partire possiamo tranquillamente cominciare a sviluppare i nostri blocchi cosa ci serve però gli attrezzi del lavoro sono prima di tutto not js ricordate non dovete essere esperti di no js dovete solo saperlo installare che è una cosa semplicissima avete bisogno di un ambiente di sviluppo un ambiente server locale potete usare quello che preferite poi se volete possiamo parlare insieme in separata sede di quelli che sono più semplici e veloci ma potete usare quello che siete già abituati a usare poi è l'installazione del plugin iniziale un plugin iniziale che cos'è è un plugin funzionante vedrete che viene messo a disposizione dalla community di sviluppatori di warpress che vi dà già tutto quello che vi serve in termini di componenti in termini di moduli in termini di struttura del plugin in inglese si dice blocca folding cioè l'impalcatura del plugin quindi voi non dovete creare file non dovete far assolutamente niente di tutto questo lavoro preparatorio perché ce l'avete già avete un template pronto e dovete soltanto andare a modificare alcuni file per creare il vostro primo blocco guttenberg quindi se andiamo allora questi sono sono diciamo così gli strumenti che ci serviranno allora abbiamo abbiamo detto not js npm li ho messo la schermata solo come riferimento perché c'è tutta la documentazione la schermata in questo caso dell'ambiente locale ho messo debkin sta e poi la pagina dove andate a trovare tutta la documentazione sul tool di sviluppo create bloc è questo che userete nel vostro lavoro di sviluppo allora il primo passo poi non ne parleremo più prometto è no js è un runtime javascript costruito sul motore javascript v8 di chrome è un motore javascript che serve praticamente a far funzionare javascript al di fuori del browser perché noi sappiamo che per vedere che cosa succede per sviluppare applicazioni in javascript anche piccoli script normalmente ci vuole un browser invece con nod js no perché nod js è un ambiente che emula diciamo così quello che è il funzionamento del browser per eseguire il codice javascript ed è questo che ci serve e poi npm che comunque viene fornito insieme a nod js quindi non è un qualcosa in più che dobbiamo installare ma è qualcosa che utilizzeremo è conosciuto come il gestore di pacchetti di nod quindi quando dobbiamo aggiungere alla nostra installazione dei moduli dei pacchetti che non sono compresi nella pacchetto standard iniziale allora dovremmo utilizzare questi comandi allora fino adesso io vado avanti perché fino ad ora non abbiamo detto niente di particolare stiamo solo ancora introducendo quindi non abbiamo affrontato niente di specifico quindi io continuo così l'ambiente di sviluppo qui possiamo andare anche abbastanza veloce nel senso che ognuno sceglie quello che preferisce quello che gli è più comodo se non sapete da tu quale partire potete provare di tutti vi scompersonalmente non vi consiglierei di partire dall'ultimo WPM perché anche se quello messo a disposizione dalla community di sviluppatori quindi per uno strumento ufficiale al momento aveva avuto un po di c'è stato un po di discussione perché anche quello si basa su docker come sapete docker adesso non è più gratuito e quindi c'era un po di frizione per l'utilizzo di docker però i i precedenti tranquillamente mi mi mi mi sento di consigliarli tutti WPM forse un po più complesso per chi è le prime armi allora se utilizzate dev kinsa io ho inserita la slide no prima di tutto perché lavoro per kinsa ma anche perché se utilizzate dev kinsa voi con un click avete creato un'installazione di warpress locale quindi non dovete andare ad aggiornare la password del database non dovete andare a creare manualmente il database se utilizzate exampe eccetera eccetera ma fa tutto lui e ha anche una serie di opzioni aggiuntive se volete provarlo poi magari mi darete un feedback e poi e lo e cosiamo arrivando diciamo al dunque allora adesso dopo avete installato no js dopo che avete installato il vostro ambiente di sviluppo locale ecco che incominciamo a fare le cose sul serio allora dovete dotarvi di questo plugin di sviluppo per dotarvi del plugin di sviluppo avete bisogno di un comando e quindi avendo installato tutto basta che vi recate nella directory dei plugin della vostra installazione locale di warpress ed eseguite questo comando npx chioccio la warpress slash create block questo è il comando ok quello che viene dopo è il nome del vostro plugin se volete darglielo perché voi avete due modalità di installazione del plugin una modalità di installazione automatica scegliete il nome fa tutto lui oppure una modalità di installazione manuale dove voi dovete andare a inserire tutte le informazioni che la procedura di installazione vi dichiete quindi dovrete inserire il nome del plugin la descrizione e tutta una serie di altri dati adesso non ricordo sia una slide su questo ma comunque è molto molto semplice basta rispondere alle domande che vi vengono proposte in fase di installazione diamo avanti parte questa installazione gira gira gira gira dopo qualche secondo vi viene fuori questa schermata e in questa schermata voi leggete delle informazioni dei molto interessanti allora prima di tutto vi dice quali comandi avete a disposizione ora se voi incominciate a farle cose sul serio questi comandi li utilizzerete tutti ma noi stiamo parlando del nostro primo blocco quindi voi con il vostro nella vostra prima esperienza utilizzerete due comandi npm start ma non non ancora npm run build che qui non vedo non ce lo fa vedere forse più sopra e che invece npm start ci fa avviare il nostro ambiente di sviluppo e che cosa fa questo comando avvia quello che viene definito un watcher cioè un'applicazione che gira in background che intercetta tutte le modifiche che noi facciamo ai file e ce le fa vedere in tempo reale sul sito ricordate che stiamo lavorando lato server quindi le modifiche non sono non sarebbero immediatamente visibili senza questo comando e poi ce n'è un altro che si chiama npm run build che invece dai file di sviluppo genera i file di produzione che saranno poi quelli che noi utilizzeremo per distribuire il nostro il nostro plugin andiamo avanti allora abbiamo detto prima prima abbiamo inserito il nome del blocco adesso non lo inseriamo e quindi che cosa succede ci vengono fatte tutte quelle domande di cui stavo parlando eccole qua lo messa dentro la slide allora prima di tutto ci chiede che tipo di template vuoi per questo plugin statico o dinamico ecco allora la prima differenza che va fatta è che specificizzazione più che differenza che noi stiamo ragionando su blocchi statici cioè quello che voi inserite nell editor lo vedete poi nel sito qua nella pagina frontale se aveste se stesse creando invece un blocco dinamico allora il contenuto di quel blocco viene generato dinamicamente interrogando il database che quello è un'altra storia che non tratteremo oggi noi oggi stiamo partendo dal primo blocco per forza di cose sarà un blocco statico ok però è la prima informazione da inserire poi il bloc slug di internal name space e poi eccetera eccetera tutte le informazioni molto importante per esempio la categoria perché queste informazioni rendono recuperabile il vostro blocco dalla repository nel momento in cui desiderate pubblicarlo lo mettete online nella directory dei plugin e questo consente al aiutenti di trovarlo e poi tutta una serie di altre informazioni per esempio il nome dell'autore del plugin eccetera eccetera vi viene generato automaticamente anche il file php del plugin se avete un po di esperienza con lo sviluppo di plugin no sapete che c'è quell'intestazione dove dovete andare a mettere tutti quei dati ecco vi vengono chiesti in fase di generazione del template andiamo avanti e viene fuori la stessa identica cosa eccolo qua ancora questo l'abbiamo già visto allora una volta che abbiamo concluso con tutto questo lavoro preparatorio ancora non abbiamo incominciato a programmare però capite bene che quello è un lavoro che fatto la prima volta poi diventa un automatismo assoluto e noi ci metterete meno di un attimo a rifarlo ed ecco che appare nella directory ne la scusate nella nella schermata dei plugin dell'installazione my first block eccolo lì ok ce l'avete adesso cosa dovete fare ovviamente se ci state lavorando sopra dovete attivarlo andiamo e poi che cosa succede eccolo qua e lo andiamo e lo troviamo direttamente nell'elenco dei blocchi nel blocking certer quindi tutto quello che serve per mettere a disposizione il blocco all'interno dell'installazione di warpress abbiamo fatto tutto quanto ci abbiamo messo 10 minuti quindi il lavoro preparatorio una volta conosciuti acquisiti questi strumenti non è quel lavoro mostruoso che ci si immagina quando la prima volta la prima volta che sono andato lì ho detto io voglio imparare a fare i blocchi perché io facevo lavoravo con warpress in php non è possibile che tutto quello che so non serve più a niente adesso io devo vedere cioè mi sono venuto le vertigini perché no js react e è tutta una serie di tecnologie che non vi ho nemmeno nominato babel js lint quindi tutte quelle competenze di backhand di velo perché personalmente non avevo mi hanno scoraggiato però ho detto no devo andare avanti devo andare avanti e mi sono reso conto che quello che serve è una minima parte di queste competenze quelle per partire quindi 10 minuti voi avete il vostro block scaffolding pronto su cui lavorare e avete il vostro plugin e il vostro blocco all'interno dell'installazione possiamo andare passo successivo andiamo a dare un'occhiata alla directory al folder dove trovate il plugin ecco e qui è importante che voi ci perdiate un po di tempo perché capite quali sono i file dove dovete lavorare quali sono i file che vengono prodotti quando andate a eseguire la build e dove trovate poi i moduli e quindi la build sono la cartella build è la cartella che ospita i file di produzione cioè quella che andate a generare quando avete finito il vostro lavoro di sviluppo ok poi abbiamo un bel file php perché come dicevo è sempre il plugin quindi il plugin funziona sempre allo stesso modo in warpress warpress riconosce il plugin perché c'è quel file php con le informazioni dentro per farlo funzionare poi abbiamo ancora not the bonus che è una cartella con le centinaia non so quante centinaia di moduli ci sono che voi utilizzerete senza dovervi preoccupare di installare alcun che oltre quello che avete visto e poi abbiamo altri file importanti package log package jason read me va bene e poi la cartella dove passerete il 99% del vostro tempo nel lavoro di sviluppo la cartella sirs ossia dove c'è il codice dove ci sono gli script che voi andate a creare modificare eccetera eccetera per creare il vostro il vostro blocco allora i file php del plugin registra il blocco surf serve allora ho fatto una scormata da visual studio code adesso non so quanti di voi lo usano però per questo tipo di lavoro io l'ho trovato molto molto comodo è un software davvero che vale la pena provare allora qui avete il pacchetto che avete visto prima ce lo avete ovviamente all'interno di visual studio code questo il file php vedete allora chi ha esperienza di sviluppo di plugin sa che cosa significano quelle informazioni racchiuse nell'intestazione commentata plugin name description requires at least requires php eccetera sono quelle informazioni che voi avete inserito in fase di installazione se avete scelto l'installazione manuale e non quella automatica potete modificare in qualsiasi momento quelle informazioni andando a modificare direttamente il file php e qui vedete una funzione che viene inserita automaticamente viene generata automaticamente da quel tool che abbiamo detto si chiama create block e qui vedete my first block che sarebbe il nome del vostro blocco ripetuto due volte perché in questo caso perché la prima parte sarebbe il lo slug del plugin la seconda del lo slug del blocco che viene poi rielaborato in it ok register block type questa funzione php fate attenzione php perché ci sarà una corrispondente funzione javascript in un altro file questa funzione php registra il blocco sul server come sapete php è un linguaggio server side e quindi warpress ha bisogno comunque ha sempre le sue regole lato server e questa regola ovviamente e la registra in questo caso la registrazione del blocco sul server e basta questo voi non lo dovete inserire e se il vostro blocco semplice è statico questo file non lo aprirete nemmeno ok però dovete sapere che c'è perché se andate poi a sviluppare blocchi più complessi o blocchi dinamici dovrete intervenire anche sul php php possiamo andare avanti il file package jason invece define le proprietà e script utilizzati nel progetto anche in questo caso all'inizio non dovrete nemmeno aprirlo, però è importante che voi sappiate quali sono i comandi che voi utilizzate anche all'interno poi del terminale e quindi vedete WP Scripts Build. Vi ho detto prima che avete anche un comando che è NPM Run Build che corrisponde a uno script WP Script Start NPM Run Start o anche NPM Start e quindi li trovate qui ma voi in questa fase iniziale non interverrete su questo file però è giusto che sappiate che quando le cose si fanno più complesse, create prodotti sempre più avanzati dovrete anche conoscere questo file possiamo andare e questo è probabilmente non posso dire che è più importante perché ci sono almeno 3 o 4 file che hanno pari importanza questo è uno di quelli il file block JSON e il file che contiene i metadati del blocco. I metadati sono tutte quelle informazioni che consentono a WordPress di capire come funziona il vostro blocco e farlo funzionare. Tutte queste proprietà come vedete hanno un significato abbastanza chiaro si capisceacht benissimo no potete per esempio impostare un'icona la descrizione eccetera eccetera ma questo file è compilato in base alle informazioni che voi avete inserito all'inizio in fase di configurazione quando avete seguito create block ok quindi qui anche in questo caso in una gran parte di questo file non dovrete più toccarla quello che toccherete lavorerete molto invece sono gli attributi è qui che si svilupperà tutto il vostro lavoro di sviluppo ovviamente quando siete ai primi blocchi. Gli attributi sono fondamentali e sono quei valori che avete visto anche nel block del limiter ricordate all'inizio da dove li prende WordPress quei dati eccoli prende dagli attributi che noi andiamo a registrare nel file block JSON ok possiamo andare allora e quindi che cosa giusto per darvi un'idea allora prima di tutto io ho fatto un esempio basato su un paragrafo di testo perché era l'esempio più semplice più immediato che mi veniva cosa ci serve sapere di un paragrafo di testo informazioni basilari no un paragrafo di testo inserito in un blocco prima di tutto qual è il contenuto cosa c'è scritto in questo paragrafo e quindi abbiamo un attributo content ok e poi lo vogliamo allineare a destra sinistra al centro e quindi perché non mettere un altro attributo align ok allora ci vogliamo mettere dentro un link allora che cosa facciamo mettiamoci dentro anche un link allora ogni attributo ha una serie di proprietà prima di tutto type cioè che tipo di attributo è che cosa ci sta dando questo attributo può essere un re può essere una stringa può essere un numero quindi il tipo di dato che noi stiamo andando a memorizzare source cioè da dove lo dovo prendere il valore di questo attributo cioè non io ma wordpress dove deve andare a prendere il valore di questo attributo allora scusate è il se lettore il valore dell'attributo source sarebbe praticamente l'origine e quindi children perché contenuto selector invece ep in questo caso perché è all'interno di un paragrafo ok quindi wordpress sa che il contenuto della proprietà content è all'interno di un paragrafo chiaro in altri casi abbiamo un valore di default predefinito che nel caso del paragrafo non abbiamo messo devo velocizzare andiamo veloce allora il file index js mi piace purtroppo le cose sono tante allora nel file index js noi invece andiamo a linkare due altri file che sono il file edit js e il file save entrambi sono script contenuti all'interno della cartella source il file edit il file dove lavorerete per la maggior parte del tempo in questo file voi andate a creare il codice js che vi servirà per generare l'output del blocco come vedete quello è un paragrafo adesso non entro nel merito di tutto però us block props è indispensabile e bisogna mettercelo sempre poi magari approfondiremo quello è il contenuto iniziale del del blocco ok my block hello from the editor andiamo avanti questo è quasi uguale allora quello che avete visto lì edit js è il blocco che viene visualizzato all'interno dell'editor in modalità editing save js è quello che viene invece salvato quando fate clic sul pulsante salva ok e che verrà visualizzato poi sul front-end del sito perché le due cose possono essere diverse potete avere per esempio una scheda particolare all'interno dell'editor e visualizzare un qualcosa di diverso nel front-end quindi per questo avete due file allora qui ripercorro i passaggi precedenti con un esempio concreto però possiamo andare avanti perché alla fine diciamo vai vai allora npm start allora quando iniziate a lavorare la prima cosa che dovete fare dopo che avete installato il vostro lavoro è andare nel terminare e avviare l'ambiente di sviluppo ok e quindi questo è il comando npm start il comando npm run build è quello invece che vi fa generare i file conclusivi e questi sono le fasi che voi seguite quando andate a sviluppare blocchi gutembert sono 5 fasi essere seguite per dissequamente non potete sbagliare prima di tutto importate i componenti necessari da un pacchetto warpress adesso vediamo velocemente quanto manca ci siamo già includere gli elementi corrispondenti nel codice js definire gli attributi necessari nel file block jason definire gli event handler e salvare i dati allora andiamo avanti facciamo velocissimo allora nel vostro file edit js ma come anche nel file save js nel file index quando utilizzate un componente warpress voi lo dovete importare prima all'interno del vostro ambiente di sviluppo in questo caso noi volevamo sostituire il paragrafo statico p con un ambiente con un con un paragrafo dal test editabile il rich text quello che voi fate quando scrivete nell editor di warpress andiamo avanti quindi cosa abbiamo fatto abbiamo sostituito quell'elemento p che avevate visto in precedenza con che cosa con un rich text caratterizzato da che cosa da una serie di attributi e in particolare dalla valore attributo value uguale attributes content che noi avevamo definito nel block jason ricordate quindi questo rich text prenderà quel valore lì se andiamo avanti vi faccio vedere come viene aggiornato il rich text si è intornati lì ancora avanti eccolo qua con una event handler che praticamente un change content cioè al momento in cui cambia il contenuto cosa faccio è quello è un po di codice javascript che dovete conoscere ma sono strutture che si ripetono sempre uguali quindi che cosa fa la funzione set attributes che noi abbiamo passato come argomento alla funzione edit cambia il contenuto del blocco in base a quello che noi abbiamo inserito all'interno dell editor allora io a questo punto sono andato oltre se vogliamo andare all'ultima slide perché vi lascio i riferimenti quindi qui probabilmente ci voleva un'ora però allora tutto quello che io vi ho detto lo trovate spiegato dettagliatamente in questi due in questo è il primo articolo pubblicato su kinsa e in un videocorso che della durata compressiva di circa due ore dove io dico il videocorso è gratuito dico esattamente le stesse cose però con degli esempi è un esempio praticamente funzionante dove quello che abbiamo visto rapidamente adesso lì è trattato con tutta l'attenzione che che merita poi tutti i link alle risorse le possibilità di approfondimento li trovate invece all'interno dell'articolo l'articolo ovviamente in italiano il videocorso in inglese però se avete bisogno di un confronto di far quattro chiacchiere mi trovate su twitter con Carlo Daniele