Salta al contenuto principale

Practical Web Development

Sviluppo web, guide pratiche, ebook e formazione online. Drupal vs WP.

Formazione tecnica per sviluppo web professionale

Imparare attraverso progetti reali

Impara il web development attraverso progetti concreti.

Le mie guide e la Formazione live non partono soltanto dalla tecnologia, ma da ciò che vuoi realizzare: un sito per un'attività, un ecommerce, un progetto professionale o una soluzione a un problema tecnico.

L'obiettivo è semplice:

imparare qualcosa che puoi realmente usare.


Esplora gli argomenti:

Drupal 
(Guide pratiche e Formazione Live)

Per chi vuole fare un salto di qualità nello sviluppo web e andare oltre il semplice assemblaggio di un sito.

Drupal permette di progettare in modo più strutturato contenuti, funzionalità e utenti, sviluppando una maggiore consapevolezza di come è costruito un sito professionale.

Guide pratiche su Content Types, Views, utenti e permessi, immagini, theming, configurazione, hosting e problem solving.

Non si tratta di scegliere tra Drupal e WordPress (Drupal vs WordPress). Si tratta di imparare a progettare il web con maggiore controllo e consapevolezza.

inoltre anche...

WordPress

Guide pratiche e Formazione Live per realizzare siti web con WordPress attraverso progetti concreti.

Attività locali, professionisti, aziende e altri progetti che un webmaster può incontrare realmente nel proprio lavoro.

WooCommerce

Guide pratiche e Formazione Live per realizzare ecommerce con WordPress e WooCommerce.

Dalla gestione dei prodotti alla struttura del negozio, fino alla realizzazione di soluzioni di vendita online.

Web Development

PHP, MySQL e tecnologie web per chi vuole comprendere meglio ciò che sta costruendo, risolvere problemi e avere maggiore controllo sui propri progetti.


Costruire siti per attività reali

Un Progetto web può servire a presentare un'attività, acquisire clienti, ricevere richieste e prenotazioni, vendere prodotti o migliorare un servizio esistente. Per questo le guide e la Formazione Live saranno costruite anche intorno a progetti concreti:

Attività locali, Professionisti, Aziende, Ecommerce, Self

Risolvere problemi tecnici reali - Non tutti i progetti iniziano da zero.

A volte bisogna risolvere un problema:

  • un'installazione Drupal che non funziona;
  • una configurazione errata;
  • un sito da aggiornare o migliorare;
  • una migrazione;
  • un problema di hosting;
  • una funzionalità da implementare;
  • un sito che deve essere più efficace.

Per questo una parte importante delle guide è dedicata al problem solving tecnico.


Inizia da un progetto

Vuoi costruire un sito?

Devi risolvere un problema tecnico?

Vuoi imparare una nuova tecnologia?

Trova una guida pratica o segui uno dei percorsi Formativi Live e inizia da lì.

[Sfoglia la sezione EBOOK su Amazon] 

[Accedi alla Formazione Live]

Daniele Venditti è autore tecnico e formatore nel settore dello sviluppo web. Attraverso ebook, articoli e contenuti video aiuta webmaster e professionisti del web a sviluppare competenze solide su Drupal, PHP, MySQL, WordPress e Intelligenza Artificiale.


Blog (ultimi 6 articoli)


Percorso formativo
Come trasformare i contatti in richieste chiare e organizzateI potenziali clienti non sempre sanno spiegare ciò che cercano. E se fossimo noi ad aiutarli, rendendo più semplice il primo contatto con la nostra attività?Ti è mai capitato di ricevere un messaggio da qualcuno che chiede un preventivo, ma senza fornire le informazioni necessarie per prepararlo?Magari vuole realizzare un lavoro, acquistare un prodotto oppure richiedere un servizio, ma non sa bene come spiegare ciò di cui ha bisogno.Comincia così uno scambio di email, telefonate e messaggi WhatsApp per cercare di capire che cosa desidera realmente.A volte il contatto si trasforma in un lavoro. Altre volte si perde per strada.E non sempre perché manca l'interesse.Il cliente non sa sempre cosa chiedereQuando una persona si rivolge a un professionista, spesso conosce il risultato che vorrebbe ottenere, ma non sa quali informazioni servano per arrivarci.Chi cerca casa potrebbe non aver ancora definito tutte le proprie esigenze. Chi desidera un abito su misura potrebbe avere un'idea, ma non sapere come descriverla. Chi deve commissionare un lavoro artigianale potrebbe non conoscere le caratteristiche tecniche necessarie per richiedere un preventivo.È una situazione del tutto normale.Il cliente non è tenuto a conoscere il nostro mestiere.Siamo noi, conoscendo il nostro lavoro, a sapere quali domande porre per comprendere meglio le sue necessità.E allora perché non cominciare a fare queste domande ancora prima del primo contatto?Tanti canali di comunicazione, ma richieste spesso disorganizzateOggi un'attività può essere contattata attraverso il sito web, la posta elettronica, WhatsApp e i social network.Avere tanti canali è un'opportunità, ma gestire le richieste che arrivano attraverso strumenti differenti può diventare complicato.Un messaggio contiene soltanto un numero di telefono. Un altro descrive un lavoro senza indicare dove dovrebbe essere eseguito. Un altro ancora chiede un appuntamento senza specificarne il motivo.Le informazioni arrivano in ordine sparso e dobbiamo ricostruirle ogni volta.Nel frattempo, tra le tante attività quotidiane, può capitare anche di dimenticare una risposta o di perdere di vista una richiesta interessante.Il problema non è soltanto ricevere nuovi contatti. È riuscire a raccogliere le informazioni giuste e gestirle nel modo migliore.E se aiutassimo il cliente a costruire la propria richiesta?Immaginiamo una situazione molto semplice.Un artigiano pubblica su Facebook la fotografia di un cancello appena realizzato.Una persona vede il lavoro, lo trova interessante e vorrebbe chiedere un preventivo.Anziché scrivere il solito messaggio «Quanto costa?», trova un collegamento che lo invita a raccontare ciò che desidera.Si apre una piccola applicazione che pone alcune domande.Che tipo di cancello vorresti realizzare? Preferisci una soluzione semplice o personalizzata? Hai già delle misure? Quando vorresti effettuare il lavoro?Non serve rispondere a tutto immediatamente. Dove necessario, il cliente può anche indicare di non conoscere ancora la risposta.Una domanda alla volta, senza fretta.Alla fine del percorso può controllare le informazioni inserite, aggiungere qualche dettaglio e inviare la propria richiesta.L'artigiano riceve così un riepilogo organizzato, con le informazioni iniziali necessarie per valutare il lavoro e ricontattare la persona.Non abbiamo ancora preparato un preventivo, ma abbiamo fatto qualcosa di importante: abbiamo aiutato il cliente a spiegare ciò di cui ha bisogno.Un'esperienza semplice e magari anche piacevoleNon dobbiamo immaginare questionari interminabili o procedure complicate.Al contrario, l'obiettivo è rendere tutto più facile.Poche domande, un linguaggio comprensibile, scelte immediate e magari qualche immagine che aiuti a individuare ciò che si sta cercando.Il cliente viene accompagnato passo dopo passo, senza dover conoscere termini tecnici o scrivere lunghi messaggi.Potrebbe persino trovare piacevole costruire progressivamente la propria richiesta, scegliendo tra le possibilità che gli vengono presentate.E quando termina, ha la sensazione di aver già fatto un primo passo concreto verso ciò che desidera.Un unico punto di ingresso, anche dai social networkUna piccola applicazione di questo tipo non deve necessariamente essere integrata nel sito web dell'attività.Potrebbe funzionare attraverso un semplice collegamento da condividere su Facebook, Instagram, LinkedIn, WhatsApp oppure tramite email.Chi è interessato può aprirlo e iniziare il percorso.Le richieste inviate attraverso l'applicazione vengono raccolte in un unico spazio, dove l'attività può consultarle e seguirne l'evoluzione.Questo non significa eliminare gli altri canali di comunicazione, ma offrire alle persone un modo più ordinato e guidato per entrare in contatto.E soprattutto significa poter utilizzare meglio anche i canali digitali che già possediamo.Il primo contatto può diventare l'inizio di un rapportoC'è un aspetto che considero particolarmente interessante.Una richiesta di preventivo non deve necessariamente concludersi con l'invio di un messaggio e l'attesa di una risposta.Può essere l'inizio di un dialogo.L'attività, dopo aver ricevuto le informazioni, potrebbe ricontattare il cliente, chiedere ulteriori dettagli, mostrargli alcuni lavori già realizzati oppure suggerire una soluzione più adatta.Il cliente, a sua volta, potrebbe aggiungere informazioni, inviare fotografie o chiarire meglio le proprie preferenze.Un percorso che comincia online e prosegue attraverso una comunicazione più consapevole, perché entrambe le parti conoscono già gli elementi essenziali della richiesta.Non si tratta di sommergere le persone di messaggi promozionali, ma di accompagnarle verso una scelta.Il vero valore non è soltanto acquisire un contatto, ma creare le condizioni per seguirlo meglio.E se arrivassero anche nuove opportunità?Non tutti quelli che visitano una pagina o guardano un contenuto sui social sono pronti a telefonare o a scrivere un messaggio.A volte sono soltanto curiosi. Altre volte vorrebbero approfondire, ma non sanno da dove cominciare.Un percorso guidato potrebbe incoraggiarli a fare quel primo passo.Pensiamo a una persona che vede il lavoro di un artigiano e trova un invito: «Raccontaci cosa vorresti realizzare».Oppure a chi guarda gli immobili pubblicati da un'agenzia e incontra la proposta: «Aiutaci a capire quale casa stai cercando».Non significa che ogni visitatore diventerà un cliente.Significa semplicemente rendere più facile il passaggio dall'interesse a una richiesta concreta.E qualche nuova opportunità potrebbe nascere proprio da qui.Una stessa idea, tante applicazioni differentiQuello che abbiamo descritto non riguarda soltanto gli artigiani.Lo stesso principio può essere applicato a molte attività, cambiando le domande, le informazioni richieste e il risultato finale.Un'agenzia immobiliare potrebbe aiutare le persone a descrivere la casa che cercano.Un atelier potrebbe raccogliere le preferenze di una cliente prima di fissare un appuntamento.Un'agenzia di viaggi potrebbe accompagnare il visitatore nella definizione di una richiesta personalizzata.Un'azienda potrebbe raccogliere informazioni tecniche preliminari per valutare una lavorazione.In tutti questi casi il bisogno è comune: comprendere meglio le esigenze delle persone prima di formulare una proposta.Da questa idea possono nascere piccole applicazioni web, semplici e adattabili a settori differenti.Dall'idea alla realizzazione: le applicazioni web come opportunità professionaleC'è infine un altro aspetto che riguarda chi sviluppa siti web e applicazioni digitali.Siamo abituati a pensare al sito web come a uno strumento per presentare un'attività, raccontarne i servizi e mostrare i lavori realizzati.Ma un sito, o una piccola applicazione indipendente, può fare anche qualcosa di più.Può aiutare un'azienda a raccogliere informazioni, organizzare richieste e rendere più semplice il rapporto con i propri clienti.Non occorre necessariamente costruire software complessi.A volte bastano un percorso ben progettato, alcune domande pertinenti e un sistema capace di raccogliere le risposte.Nei prossimi approfondimenti vedremo come applicare questa idea a differenti settori, attraverso esempi pratici e piccole applicazioni realizzabili con Drupal.Per chi desidera imparare a sviluppare queste soluzioni, alcuni progetti potranno diventare anche percorsi di formazione live online, nei quali costruiremo insieme applicazioni funzionanti.Partire da un bisogno, non dalla tecnologiaQuando pensiamo agli strumenti digitali per un'attività, ci concentriamo spesso sul sito web, sui social network o sulla visibilità online.Sono strumenti importanti, ma forse dovremmo porci anche un'altra domanda:Che cosa succede quando qualcuno manifesta interesse per quello che facciamo?Siamo davvero pronti ad accompagnarlo, a comprenderne le esigenze e a gestire correttamente la sua richiesta?A volte, per migliorare il rapporto con i potenziali clienti, non serve aggiungere un altro canale di comunicazione.Può essere più utile ripensare il modo in cui utilizziamo quelli che abbiamo già.Ed è da questa semplice considerazione che nasce l'idea di un assistente digitale capace di guidare le richieste dei clienti.Una piccola applicazione, indipendente dal sito web, adattabile ad attività differenti e capace di trasformare un primo interesse in una richiesta più chiara.Perché una buona opportunità comincia spesso da una domanda fatta nel modo giusto.Daniele VendittiNon esistono formule magiche, ma possiamo comunicare meglioNessuno strumento digitale ha la bacchetta magica per far arrivare nuovi clienti.Possiamo però migliorare il modo in cui comunichiamo con le persone che si interessano alla nostra attività.Spesso un potenziale cliente ha un'esigenza, un'idea o semplicemente una curiosità, ma non sa bene come esprimerla.È qui che può intervenire un'applicazione web progettata con attenzione: un percorso guidato, costruito sulle caratteristiche dell'attività, che attraverso domande mirate, scelte e passaggi successivi aiuta le persone a comprendere meglio ciò che desiderano e a comunicarlo.Dietro un'esperienza apparentemente semplice c'è quindi un lavoro di progettazione, che richiede di conoscere il problema, individuare le informazioni utili e organizzare il percorso nel modo giusto.Ed è proprio questo che possiamo imparare a realizzare attraverso un percorso di formazione live: non soltanto utilizzare uno strumento, ma progettare e costruire un'applicazione capace di rispondere a un'esigenza concreta.Non abbiamo la certezza di ottenere più clienti, ma possiamo creare condizioni migliori perché un interesse si trasformi in una richiesta concreta.Vuoi imparare a realizzare questa applicazione e adattarla alla tua Attività?L'idea presentata in questo articolo può diventare un progetto concreto.Attraverso un percorso di formazione live individuale, vedremo come realizzare con Drupal un'applicazione web che accompagna gli utenti nella compilazione di richieste di informazioni e preventivi.Partiremo dalla progettazione delle domande per arrivare a un sistema funzionante, capace di raccogliere e organizzare le richieste ricevute.Le lezioni si svolgono online, con orari flessibili e un programma pratico definito.È possibile richiedere un incontro conoscitivo gratuito per approfondire il programma, le modalità e i costi, senza alcun impegno.Contattami per maggiori informazioni

Installare Drupal su un hosting condiviso può trasformarsi in una sfida tecnica inaspettata. Segui la documentazione ufficiale, utilizzi Composer e tutto sembra procedere correttamente. Poi arriva il problema: la directory web non è accessibile come dovrebbe, il server impone restrizioni sui percorsi e il sito non si avvia.Devi necessariamente rinunciare a Drupal o cambiare hosting?Non necessariamente.Questo ebook affronta uno dei problemi più concreti dell'installazione di Drupal negli ambienti di hosting condiviso: la difficoltà di utilizzare la struttura standard del progetto quando non puoi configurare liberamente la document root e devi rispettare i limiti imposti dal server.La soluzione proposta è la struttura FLAT, un approccio pratico che consente di adattare l'organizzazione del progetto alle caratteristiche dell'hosting, continuando a utilizzare Composer per gestire Drupal e le sue dipendenze.  Cosa impareraiCon questa guida scoprirai come:Superare il vincolo della directory web, quando la document root del server è fissa su public_html/.Affrontare le restrizioni di open_basedir, organizzando i file in modo compatibile con i limiti di accesso dell'ambiente condiviso.Configurare Drupal Scaffold per adattare la struttura del progetto alle esigenze del tuo hosting.Modificare composer.json per gestire correttamente la struttura FLAT.Gestire i collegamenti simbolici (symlink) e comprenderne il ruolo nell'organizzazione dei file.Affrontare gli hosting più restrittivi, attraverso una variante basata su una sandbox interna.Mantenere Composer al centro del progetto, per gestire dipendenze, moduli e aggiornamenti senza affidarti a procedure manuali improvvisate.Una guida operativa, con esempi e videoNon troverai soltanto una sequenza di comandi da eseguire. L'obiettivo è comprendere perché si verificano determinati problemi e come intervenire in modo consapevole.I passaggi sono accompagnati da indicazioni operative, configurazioni ed esempi pratici. Alcune fasi fondamentali sono inoltre supportate da video dimostrativi, per osservare direttamente le operazioni sul terminale e seguire più facilmente le procedure.La guida affronta anche i limiti degli installer automatici in un clic, mettendo a confronto la loro praticità con il controllo offerto da un'installazione basata su Composer.A chi è rivoltoQuesto ebook è pensato per sviluppatori, web designer e professionisti che desiderano installare Drupal su un hosting condiviso, soprattutto quando la struttura standard del progetto entra in conflitto con le limitazioni del server.È particolarmente utile se hai già incontrato errori di percorso, problemi di accesso alla directory vendor/ o difficoltà legate alla configurazione della document root.È consigliata una conoscenza di base di Drupal, Composer e del terminale.Non lasciare che la directory web diventi un ostacolo al tuo progetto. Scopri come affrontare i vincoli dell'hosting condiviso e costruire un'installazione Drupal organizzata per una gestione più consapevole, professionale e aggiornabile nel tempo.IN ATTIVAZIONE

Percorso formativo
Faccio un sito oppure scrivo un libro della mia storia?Se mi avessero posto questa domanda vent'anni fa, non avrei avuto dubbi: avrei risposto che il sito web era l'unica risposta sensata. Per anni è stato il centro della presenza digitale di qualsiasi attività, il luogo dove raccontarsi, presentare i servizi, farsi trovare.Oggi continuo a considerarlo uno strumento importante. Ma negli ultimi tempi mi sono fatto una domanda diversa:se volessi lasciare un segno davvero duraturo della mia esperienza professionale, sceglierei un sito oppure un libro?Il problema dei contenuti digitali di oggiViviamo in un'epoca in cui tutti comunicano e quasi nessuno viene ricordato.Post sui social, video, newsletter, siti web, ogni giorno milioni di contenuti vengono pubblicati e dimenticati nel giro di ore.E ora si è aggiunta l'intelligenza artificiale, che ha accelerato ulteriormente questo processo: chiunque può generare testi, articoli e contenuti in pochi secondi. Il risultato è un flusso continuo di materiale che si assomiglia tutto, scritto da nessuno e diretto a tutti.Perfino un sito web, in questo contesto, tende a diventare una brochure online che nessuno va a cercare.E allora nasce la domanda: cosa resta davvero della nostra esperienza?Il paradosso dell'era AIC'è qualcosa di curioso in quello che sta succedendo. Più gli strumenti digitali diventano veloci, automatici e accessibili, più le persone sembrano rivalutare ciò che è lento, fatto a mano, personale. Il libro funziona esattamente così. In un momento in cui qualsiasi testo può essere generato da una macchina in trenta secondi, un libro scritto da una persona reale, con la sua storia, i suoi errori, la sua visione, diventa qualcosa di raro.Un libro cambia la percezioneImmagina di incontrare un professionista, un avvocato, un commercialista, un architetto, un imprenditore, che durante il vostro primo incontro ti consegna il proprio libro. Non un volantino, non un catalogo: un libro.Nella mente di chi lo riceve scatta qualcosa di quasi automatico. Si pensa:questa persona ha qualcosa da raccontare, ha accumulato esperienza, ha investito tempo per lasciare qualcosa di utile agli altri.Un libro comunica autorevolezza senza bisogno di dichiararlo. E in un'epoca in cui chiunque può pubblicare qualsiasi cosa in pochi minuti, questo peso specifico è aumentato, non diminuito.Oggi pubblicare è possibile per tuttiPer molto tempo pubblicare era un privilegio riservato a pochi: bisognava convincere una casa editrice, aspettare mesi, spesso affrontare costi importanti. Oggi non è più così. Grazie al self publishing ogni professionista può trasformare la propria esperienza in un libro senza essere uno scrittore e senza aver pubblicato nulla in precedenza.Serve soprattutto una cosa: avere qualcosa da raccontare. E ogni attività che esiste da anni possiede una storia.Chi potrebbe scrivere un libro?Molte più persone di quanto si pensi. Un avvocato potrebbe scrivere una guida pratica per affrontare una successione o spiegare in modo semplice aspetti legali che le famiglie faticano a capire con la caratteristica e il supporto della propria esperienza. Un commercialista potrebbe aiutare chi apre una partita IVA a orientarsi tra obblighi e opportunità. Un architetto potrebbe raccogliere anni di esperienza cantieristica in un manuale sugli errori più comuni nelle ristrutturazioni.Le strutture turistiche e i luoghi di cultura hanno forse il materiale più ricco di tutti: la storia di una dimora, il racconto di un territorio, una guida che accompagni il visitatore ben oltre la visita stessa. E gli imprenditori potrebbero lasciare qualcosa di ancora più personale, le sfide, i fallimenti, i valori che hanno permesso all'azienda di crescere.Cosa fa la differenzaI social attirano attenzione. Il sito web presenta l'attività. Il libro costruisce autorevolezza. È una differenza sostanziale, e non è solo una questione di immagine.Un libro può essere regalato a un cliente, consegnato durante un incontro, esposto in uno studio professionale, venduto su Amazon. Continua a parlare di noi anche quando non siamo presenti. Dentro quelle pagine non ci sono soltanto informazioni, ci sono esperienze, errori, visioni. In un certo senso stai consegnando una parte di te stesso, e questo crea una connessione che nessun post o sito web riesce a replicare. Tantomeno un testo generato da un'AI.Quindi cosa sceglierei?Se dovessi promuovere un'attività oggi sceglierei ancora un sito web. Ma se dovessi scegliere uno strumento per lasciare una traccia duratura della mia esperienza, sceglierei un libro, perché un sito racconta cosa faccio, mentre un libro racconta chi sono, cosa ho imparato e perché la mia esperienza può essere utile agli altri.Paradossalmente, è proprio l'avanzata dell'intelligenza artificiale a rendere questo più vero oggi di quanto non fosse dieci anni fa. In un mondo in cui i contenuti costano zero e si producono in automatico, ciò che ha ancora valore è ciò che viene da una persona reale, con una storia reale. Un libro è esattamente questo.Daniele VendittiVuoi approfondire questo argomento con una formazione online?Se desideri approfondire questo argomento con il mio supporto, puoi contattarmi per ricevere maggiori informazioni sui percorsi di formazione live individuale online.Possiamo organizzare un incontro conoscitivo online, senza impegno, durante il quale ti illustrerò le modalità di svolgimento, i costi e le possibili date e orari. Gli orari saranno estremamente flessibili, per trovare insieme una soluzione compatibile con le tue esigenze.Sarà anche l'occasione per capire se il percorso formativo è adatto alle tue necessità e chiarire eventuali dubbi prima di decidere.Scrivimi per maggiori informazioni e per concordare un incontro conoscitivo. Puoi cliccare sul pulsante successivo oppure anche con l'icona WhatsApp a sinistra del sitoClicca qui per approfondireoppure

Per anni il percorso per diventare webmaster è stato sempre lo stesso.Prima HTML. Poi CSS. Poi JavaScript. Poi PHP. Poi WordPress, Drupal o qualche altro CMS. Centinaia di ore di studio, manuali, tutorial e notti passate a cercare soluzioni nei forum.Oggi qualcosa è cambiato.L'intelligenza artificiale ha introdotto un nuovo modo di sviluppare siti web e applicazioni: il Vibe Coding.Cos'è il Vibe CodingIl termine indica un approccio completamente diverso alla programmazione.Invece di scrivere ogni riga di codice manualmente, si descrive all'AI ciò che si vuole ottenere. L'intelligenza artificiale genera il codice, che può poi essere corretto, migliorato e adattato alle proprie esigenze.Con strumenti come ChatGPT, Claude, DeepSeek, Qwen e Copilot è possibile realizzare in pochi minuti attività che fino a poco tempo fa richiedevano ore di lavoro.Ad esempio:Creare una landing page completaGenerare componenti HTML e CSS personalizzatiSviluppare plugin WordPress su misuraScrivere moduli DrupalAutomatizzare operazioni ripetitiveQuesto non significa che la programmazione sia morta.Significa che il modo di programmare sta cambiando.Il problema dei plugin WordPressChi lavora con WordPress conosce bene la situazione.Serve una funzione? Si installa un plugin.Serve una modifica? Un altro plugin.Serve un'integrazione? Ancora un plugin.Dopo qualche anno ci si ritrova con siti pieni di estensioni che rallentano le prestazioni, aumentano i rischi di incompatibilità e rendono più complessa la manutenzione.L'intelligenza artificiale offre una possibile alternativa.Molte personalizzazioni che prima richiedevano un plugin dedicato oggi possono essere realizzate con poche righe di codice generate dall'AI e adattate alle esigenze del progetto.Non sempre è la scelta giusta, ma spesso permette di ottenere soluzioni più leggere e controllabili.E Drupal?Per molti professionisti Drupal è sempre stato percepito come un CMS difficile.In parte è vero.Drupal richiede una mentalità diversa rispetto a WordPress e una curva di apprendimento più impegnativa.Tuttavia l'AI sta abbassando notevolmente questa barriera.Oggi è possibile chiedere all'intelligenza artificiale di generare esempi di codice, spiegare API complesse, creare moduli personalizzati e guidare passo dopo passo lo sviluppo di funzionalità avanzate.Questo rende Drupal molto più accessibile anche per chi proviene dal mondo WordPress.Perché ho scritto questo ebookNegli ultimi anni ho pubblicato diversi manuali dedicati al web development, a WordPress e a Drupal.Osservando l'evoluzione degli strumenti di AI mi sono reso conto che stava nascendo una nuova figura professionale.Un webmaster che non si limita a installare plugin o configurare CMS, ma che utilizza l'intelligenza artificiale per creare soluzioni personalizzate, automatizzare attività e aumentare la propria produttività.Da questa riflessione è nato il nuovo ebook:"Mamma voglio fare il Vibe Coder"Un percorso pratico che parte dalle basi del web e arriva all'utilizzo dell'AI per lavorare con WordPress e Drupal.Cosa troverai nel libroL'ebook è diviso in quattro parti principali.Le basi del webUna panoramica essenziale su HTML, CSS, JavaScript e SEO per comprendere cosa accade dietro le quinte di un sito web.WordPress 2026Temi moderni, block editor e prime applicazioni pratiche del vibe coding per creare funzionalità personalizzate.Drupal 11Tipi di contenuto, Views, Layout Builder e sviluppo assistito dall'intelligenza artificiale.Da WordPress a Drupal con l'AIUn laboratorio finale dedicato alla migrazione e alla trasformazione di progetti esistenti utilizzando prompt e strumenti di AI.A chi è rivoltoQuesto ebook è pensato per:Webmaster WordPressSviluppatori webFreelance digitaliStudentiCuriosi che vogliono capire come sta cambiando il mondo dello sviluppo webNon è necessario essere programmatori esperti.Serve soltanto la voglia di imparare e sperimentare.Prossimamente disponibileL'obiettivo di questo libro non è sostituire lo studio tradizionale.L'obiettivo è mostrare come utilizzare l'intelligenza artificiale in modo concreto e professionale per lavorare meglio, più velocemente e con maggiore autonomia.Il futuro del web non appartiene a chi conosce più comandi.Appartiene a chi sa collaborare con l'intelligenza artificiale senza smettere di capire ciò che sta facendo.E forse il momento migliore per iniziare è proprio adesso.

Percorso formativo
Se stai leggendo questa guida, probabilmente hai già provato a installare Drupal 11 su un hosting condiviso e hai avuto problemi. Oppure hai seguito il tutorial ufficiale di Drupal e ti sei scontrato con un muro.Nessun problema: questa guida ti spiegherà perché c'è un problema tecnico di fondo e come risolverlo in modo semplice e definitivo (Guida realizzata per Drupal 11 Core e non per Drupal cms ex Starshot).🤔 Il problema di base: perché la struttura standard di Drupal NON funziona su molti hosting condivisi?Partiamo dall'inizio. Drupal 11, quando viene installato con Composer (il gestore di pacchetti PHP ufficiale), crea una struttura di cartelle come questa:progetto-drupal/ ├── composer.json ├── composer.lock ├── vendor/ ← tutte le librerie PHP (Symfony, Twig, ecc.) └── web/ ← la ROOT pubblica (document root) ├── index.php ├── core/ ├── modules/ ├── themes/ └── sites/Questa struttura è perfetta dal punto di vista della sicurezza perché tutto il codice PHP sensibile (le librerie in vendor/, le configurazioni, ecc.) si trova fuori dalla cartella accessibile al web. Solo la cartella web/ è esposta pubblicamente.Per far funzionare questa struttura, l'hosting deve permetterti di impostare la document root (la cartella che il server web mostra ai visitatori) su web/. In pratica, devi poter dire ad Apache/Nginx: "quando qualcuno visita il mio sito, mostra i file che stanno dentro la cartella web/, non quelli nella cartella principale".🚫 Il problema sugli hosting condivisiLa maggior parte degli hosting condivisi NON ti permette di cambiare la document root. La document root è fissa e bloccata su public_html/ (o httpdocs/ o www/). Non puoi modificarla. Punto.Ma c'è anche un secondo problema, ancora più subdolo: la direttiva open_basedir.🔒 Cos'è open_basedir?È una direttiva di sicurezza di PHP che limita i file che PHP può aprire a una specifica cartella e alle sue sottocartelle. Su molti hosting condivisi, open_basedir è impostata proprio su public_html/. Questo significa che PHP non può "vedere" né accedere a file che stanno fuori da public_html/.Facciamo un esempio concreto. Se provassi a installare Drupal con la struttura standard su un hosting condiviso:public_html/ ← document root fissa (open_basedir punta qui) ├── web/ ← qui dentro ci sono index.php, core, modules... │ └── ... vendor/ ← FUORI da public_html! PHP non può accederci!Il risultato? PHP non riesce a caricare le librerie in vendor/ perché si trovano fuori dai limiti imposti da open_basedir. Drupal non si avvia nemmeno, o dà errori inspiegabili.Morale: sugli hosting condivisi, tutto il codice deve stare dentro public_html/. Non puoi avere nulla fuori. Ecco perché serve la struttura FLAT.📜 Un po' di storia: come si installava Drupal "una volta"?Prima dell'avvento di Composer (che è diventato lo standard ufficiale da Drupal 8 in poi), Drupal si installava in modo molto più semplice: scaricavi un pacchetto .zip o .tar.gz dal sito ufficiale, lo decomprimevi direttamente in public_html/, e il gioco era fatto.Quelle si chiamano installazioni "legacy" (o "tradizionali"). Funzionavano così:public_html/ ← tutto dentro qui ├── index.php ├── core/ ├── modules/ ├── themes/ ├── sites/ ├── vendor/ ← già incluso nel pacchetto └── ...Semplice, no? Nessun problema con open_basedir, nessuna storia di document root. E funzionava perfettamente.Ma c'era un problema enorme: la gestione delle dipendenze. Drupal moderno usa decine di librerie PHP esterne (Symfony, Guzzle, Twig, Psr, ecc.). Nel pacchetto scaricabile, queste librerie erano già incluse nella cartella vendor/. Ma come si aggiornavano? Come si gestivano le versioni? Era un caos. Spesso le installazioni legacy finivano con versioni mixate, librerie mancanti o in conflitto.Per questo motivo, dal 2018 circa, il team di Drupal ha abbandonato ufficialmente le installazioni "legacy" con pacchetto scaricabile. Oggi l'unico metodo supportato è Composer.📌 Nota storica: Ancora oggi trovi in giro vecchi tutorial che ti dicono di scaricare un file .zip da drupal.org. Ignorali. Per Drupal 10 e 11, quel metodo non è più supportato e può dare problemi di sicurezza e compatibilità.Ma Composer crea la struttura con web/... e noi non possiamo usarla sugli hosting condivisi. Sembra un paradosso, vero? Fortunatamente esiste una soluzione geniale: il plugin Scaffold.Cos'è il plugin Scaffold di Drupal (e perché è rivoluzionario)Gli sviluppatori di Drupal erano ben consapevoli del problema degli hosting condivisi. Per questo hanno creato un plugin Composer chiamato drupal/scaffold.🔧 Cos'è Scaffold?Scaffold (in inglese "impalcatura") è un plugin che permette a Composer di copiare i file pubblici (index.php, .htaccess, robots.txt, ecc.) dove vuoi tu, non necessariamente dentro web/.Quando lanci composer create-project per installare Drupal, Scaffold viene eseguito automaticamente e copia i file "scaffold" nella cartella che tu gli indichi. Di default, li copia in web/. Ma grazie a Scaffold, puoi decidere tu la cartella di destinazione, modificando il file composer.json.In poche parole, Scaffold disaccoppia la posizione dei file pubblici dal resto del progetto. Questo significa che possiamo dire a Scaffold: "copia index.php, .htaccess e tutti i file pubblici direttamente nella root del progetto, non dentro web/".Ed è esattamente quello che faremo in questa guida: useremo Scaffold per generare una struttura FLAT, dove tutto (inclusi i file pubblici) sta dentro public_html/, risolvendo così i problemi di document root fissa e open_basedir.Il bello è che manteniamo tutti i vantaggi di Composer: composer.json, composer.lock, aggiornamenti sicuri, gestione perfetta delle dipendenze. Il meglio di entrambi i mondi.🔧 Cosa significa "struttura FLAT"?La struttura FLAT è semplicemente l'installazione di Drupal in cui non esiste la cartella web/. Tutto è nella stessa cartella root.Struttura standard (NON funziona su hosting condivisi):public_html/ └── web/ ├── core/ ├── modules/ ├── themes/ ├── vendor/ └── index.phpStruttura FLAT (funziona su hosting condivisi):public_html/ ├── core/ ├── modules/ ├── themes/ ├── vendor/ ├── index.php ├── .htaccess ├── composer.json ├── composer.lock └── sites/ └── default/ └── files/In pratica, prendiamo tutto ciò che starebbe dentro web/ e lo "spostiamo su" di un livello, eliminando la cartella intermedia.Questa struttura risolve entrambi i problemi:✅ La document root può rimanere public_html/ (nessun problema con hosting che non permettono di cambiarla)✅ Tutto il codice (compreso vendor/) sta dentro public_html/, quindi open_basedir non blocca nulla✅ Manteniamo Composer e il plugin Scaffold per la gestione dei file pubblici📋 RequisitiAccesso SSH al tuo hostingComposer installato (la maggior parte degli hosting lo ha, altrimenti chiedi al supporto)Dominio puntato alla cartella public_html/PHP 8.1 o superiore📌 Scegli la tua Variante di HostingPrima di iniziare, devi sapere che non tutti gli hosting condivisi sono uguali. A seconda delle restrizioni del tuo provider, esistono tre scenari possibili:Variante A (Hosting Flessibile con SSH): Permette di creare cartelle al di fuori della cartella pubblica (public_html o htdocs).Variante B (Hosting Restrittivo con SSH): Ti blinda all'interno dell'unica cartella pubblica (public_html o htdocs) e non ti permette di creare nulla al di sopra di essa.Variante C (Hosting senza SSH): Non offre l'accesso al terminale. Richiede lo sviluppo interamente sul tuo PC (tramite DDEV o Composer in locale) e il送 trasferimento dei file via FTP. Questo scenario sarà l'oggetto della nostra prossima guida dedicata!🎯 Oggetto di questa guida: In questa sede tratteremo esclusivamente la Variante B. Vedremo come aggirare le restrizioni dell'hosting condiviso più rigido sul mercato, creando una "Sandbox Interna a Imbuto" direttamente dentro lo spazio pubblico, per poi trasformare il tutto in un'installazione Drupal "Flat" e pulita.🧭 GUIDA PASSO PASSO .guida-drupal pre { background-color: #2d3139 !important; color: #f8f8f2 !important; padding: 15px !important; border-radius: 6px !important; border: 1px solid #3e4451 !important; overflow-x: auto !important; font-family: 'Courier New', Courier, monospace !important; font-size: 14px !important; line-height: 1.5 !important; margin: 15px 0 !important; } .guida-drupal code { font-family: 'Courier New', Courier, monospace !important; color: #e06c75 !important; background-color: #f5f5f5 !important; padding: 2px 6px !important; border-radius: 4px !important; font-size: 90 !important; } .guida-drupal pre code { color: #f8f8f2 !important; background-color: transparent !important; padding: 0 !important; border-radius: 0 !important; font-size: 100% !important; } .guida-drupal .code-title { font-weight: bold !important; color: #4b5263 !important; font-size: 14px !important; } .guida-drupal .code-block { margin-top: 15px !important; margin-bottom: 15px !important; } 1️⃣ Prepara l'ambiente e ripulisci public_htmlPer eseguire questa guida è fondamentale avere un hosting con accesso SSHPrima di iniziare, dobbiamo assicurarci che la cartella del tuo sito sia completamente vuota e che la cache globale del server sia azzerata per evitare conflitti con vecchi file orfani o precedenti installazioni fallite.Collegati al terminale ed esegui questi comandi per ripulire tutto l'ambiente in modo profondo:📋 Copy via SSH# Move to the target public folder cd ~/domains/tuodominio.it/public_html # Purge all visible files and folders rm -rf * # Purge all hidden files and system dotfiles rm -rf .[^.]* 2>/dev/null # Clear Composer's physical global user cache to prevent metadata conflicts rm -rf ~/.composer/cache composer clear-cacheIMPORTANTE: sostituisci in tutta la guida "tuodominio.it" con il sito reale ad esempio "test26.sviluppo.host"2️⃣ Scarica la struttura di Drupal con installazione congelata (--no-install)Creiamo il progetto scaricando i file in una cartella temporanea isolata. Rimanendo all'interno della cartella pubblica appena ripulita, generiamo una sandbox interna per evitare interferenze con le cache del server durante la fase iniziale:📋 Copy via SSH# Download the initial Drupal configuration files into a nested sandbox directory composer create-project drupal/recommended-project drupal11tmp --no-install # Enter the newly generated sandbox directory cd drupal11tmpPerché usiamo il parametro --no-install? Questo flag dice a Composer di scaricare solo la struttura iniziale dei file di configurazione base, senza avviare subito il download dei pacchetti effettivi del core. In questo modo, congeliamo l'installazione per avere il tempo di modificare i percorsi nel file composer.json nei passaggi successivi. Solo così Composer saprà fin dal primo secondo che si tratta di una struttura FLAT, evitando di generare cartelle errate che poi risulterebbero impossibili da spostare in modo pulito.3️⃣  Sposta i file per la struttura FLATSpostiamo tutto il contenuto strutturale ereditato dalla cartella predefinita web/ direttamente nella radice corrente della nostra sandbox, rimuovendo poi la vecchia directory vuota:📋 Copia via SSH# Copy all visible contents from the web folder to the current directory (silencing empty warnings) cp -R web/* . 2>/dev/null # Copy all hidden files (dotfiles) from the web folder to the current directory cp -R web/.[^.]* . 2>/dev/null # Remove the empty web directory rm -rf web🔍 Nota di trasparenza (Cosa sta succedendo?): Se dopo aver eseguito questo comando controlli la cartella tramite il File Manager dell'hosting, noterai che sono presenti solo tre file: composer.json, composer.lock e LICENSE.txt. È del tutto normale!Poiché al Punto 2 abbiamo usato il comando --no-install, Composer ha scaricato solo il modello di base (template). In questa fase iniziale, la cartella web/ non conteneva ancora i file veri e propri di Drupal (come la cartella core/, index.php, moduli o temi), ma ospitava solo pochissimi file di configurazione nascosti. Con questo passaggio abbiamo spostato quei pochi elementi e rimosso la cartella web/ per preparare il terreno. I veri file di Drupal compariranno solo tra poco, quando lanceremo l'installazione effettiva.4️⃣ Modifica il file composer.json per la struttura FLATApri il file composer.json presente nella cartella temporanea (utilizzando l'editor del tuo hosting o un editor di testo via SSH come nano composer.json) e configuralo per la struttura FLAT.Dobbiamo effettuare tre modifiche chirurgiche: impostare la web-root su ./, rimuovere il prefisso web/ da tutte le voci presenti in installer-paths e, soprattutto, inserire la direttiva per disattivare i collegamenti simbolici.Il file deve apparire esattamente così:📋 Struttura corretta del file composer.json{ "name": "drupal/recommended-project", "type": "project", "repositories": { "drupal": { "type": "composer", "url": "https://packages.drupal.org/8" } }, "require": { "composer/installers": "^2.3", "drupal/core-composer-scaffold": "^11.4", "drupal/core-recipe-unpack": "^11.4", "drupal/core-project-message": "^11.4", "drupal/core-recommended": "^11.4", "drupal/metatag": "^2.2" }, "config": { "allow-plugins": { "composer/installers": true, "drupal/core-composer-scaffold": true, "drupal/core-recipe-unpack": true, "drupal/core-project-message": true, "symfony/runtime": true } }, "extra": { "drupal-scaffold": { "//2": "Force core entry scripts (index.php, .htaccess) to populate directly on current root", "locations": { "web-root": "./" }, "//3": "Disable symbolic links generation to bypass restricted hosting server rules", "symlinks": false, "//3b": "Authorize scaffold plugin to generate files safely on the root folder", "allowed-packages": [ "*" ] }, "installer-paths": { "core": ["type:drupal-core"], "libraries/{$name}": ["type:drupal-library"], "modules/contrib/{$name}": ["type:drupal-module"], "profiles/contrib/{$name}": ["type:drupal-profile"], "themes/contrib/{$name}": ["type:drupal-theme"], "drush/Commands/contrib/{$name}": ["type:drupal-drush"], "modules/custom/{$name}": ["type:drupal-custom-module"], "profiles/custom/{$name}": ["type:drupal-custom-profile"], "themes/custom/{$name}": ["type:drupal-custom-theme"], "recipes/{$name}": ["type:drupal-recipe"] } } }🔍 Focus Tecnico: Cosa sono i Symlink e perché li disattiviamo? I symlink (collegamenti simbolici) sono file "finti" che funzionano come scorciatoie, rimandando a un file reale memorizzato altrove. Di default, Drupal crea dei symlink nella cartella pubblica per file critici come index.php o .htaccess. Tuttavia, molti hosting condivisi bloccano la creazione di symlink per rigide regole di sicurezza. Inserendo la riga "symlinks": false, ordiniamo a Composer di non creare scorciatoie, ma di copiare fisicamente i file reali e indipendenti nella cartella. È proprio questo comando che trasforma l'installazione in una struttura FLAT a prova di errore.⚠️ Nota di controllo: Assicurati di non dimenticare le virgole quando inserisci la riga "symlinks": false. Un errore di sintassi nel file JSON bloccherà l'esecuzione dei comandi successivi di Composer.5️⃣ Abilita i plugin ed esegui lo Scaffold nella SandboxAutorizziamo il plugin dello Scaffold, avviamo il download dei pacchetti ed eseguiamo la generazione dei file di avvio direttamente all'interno della sandbox temporanea:📋 Copy via SSH# Step 1: Whitelist and authorize the core composer scaffold plugin explicitly composer config allow-plugins.drupal/core-composer-scaffold true # Step 2: Update dependencies and generate a clean unified lock file bypassing proxy filters composer update --no-plugins # Step 3: Extract core packages, modules, and themes physically onto the filesystem composer install # Step 4: Run the scaffold with native plugins enabled to generate root entry files composer drupal:scaffold # Step 5: Build a clean mapping file for the PHP class loader composer dump-autoload6️⃣ Svuota la sandbox a "imbuto" nella cartella pubblica principaleOra che l'installazione FLAT è pronta nella sandbox ed è completa di tutti i file vitali (come index.php, .htaccess e la cartella vendor/), dobbiamo portare tutto fuori e riversarlo nella directory pubblica finale del dominio.Rimani all'interno della cartella drupal11tmp ed esegui il comando di spostamento a imbuto verso la cartella superiore (..):📋 Copy via SSH# Move all visible deployment files and folders up to public_html mv * .. # Move all hidden configuration files and dotfiles up to public_html mv .[^.]* .. 2>/dev/nullNota: Il secondo comando serve a spostare i file nascosti fondamentali (come il file .htaccess o i file di configurazione con il punto iniziale). L'errore finale restituito dal terminale è del tutto normale, poiché il sistema ti avviserà che non può spostare la cartella corrente in sé stessa o la cartella superiore.7️⃣ Entra nella directory pubblica finale e crea la cartella files per i mediaSpostati nella cartella principale del tuo sito ed elimina la sandbox temporanea (che ora è rimasta vuota). Successivamente, generiamo la directory in cui Drupal gestirà le immagini e i caricamenti pubblici degli utenti, assegnandole i permessi di scrittura adatti all'ambiente condiviso:📋 Copy via SSH# Step back up into your main web document root (public_html / httpdocs) cd .. # Remove the empty sandbox directory safely rmdir drupal11tmp # Provision the system uploads folder and set directory permissions for shared hosting mkdir -p sites/default/files chmod 775 sites/default/files8️⃣ Finalizza l'autoloader di ComposerSiamo giunti all'ultimo passaggio sul terminale. Eseguiamo la rigenerazione finale dell'autoloader di Composer direttamente dalla radice del sito per registrare in modo definitivo la posizione piatta di tutti i file di Drupal 11:📋 Copy via SSH# Regenerate the autoloader configuration targeting the final FLAT filesystem map composer dump-autoload🎉 Complimenti! La tua installazione di Drupal 11 in modalità interamente FLAT è completata con successo ed è a prova di blocchi del server. Puoi aprire il tuo browser, digitare l'indirizzo del tuo sito web e procedere con la classica configurazione guidata di Drupal sullo schermo (scelta della lingua, inserimento dei dati del database e creazione dell'utente amministratore).9️⃣ Installa Drupal dal browserApri il tuo browser preferito e digita l'indirizzo del tuo sito internet:🌐 Indirizzo del sitohttps://tuodominio.itSegui la normale procedura guidata di configurazione sullo schermo inserendo le credenziali del database. La tua installazione FLAT di Drupal 11 su hosting condiviso è terminata e perfettamente funzionante! .guida-drupal .note, .guida-drupal .danger, .guida-drupal .warning { padding: 15px !important; border-radius: 6px !important; margin: 20px 0 !important; font-size: 15px !important; line-height: 1.5 !important; } .guida-drupal .note { background-color: #ecf3fe !important; border-left: 5px solid #1a73e8 !important; color: #1e293b !important; } .guida-drupal .danger { background-color: #fde8e8 !important; border-left: 5px solid #e02424 !important; color: #9b1c1c !important; } .guida-drupal .warning { background-color: #fef3c7 !important; border-left: 5px solid #d97706 !important; color: #92400e !important; } .guida-drupal .comparison { display: flex !important; gap: 20px !important; margin: 20px 0 !important; flex-wrap: wrap !important; } .guida-drupal .comparison-col { flex: 1 !important; min-width: 280px !important; background-color: #f8fafc !important; padding: 20px !important; border-radius: 8px !important; border: 1px solid #e2e8f0 !important; } .guida-drupal .comparison-col h4 { margin-top: 0 !important; font-size: 16px !important; border-bottom: 2px solid #e2e8f0 !important; padding-bottom: 8px !important; } .guida-drupal .comparison-col ul { padding-left: 20px !important; margin-bottom: 0 !important; } .guida-drupal .comparison-col li { margin-bottom: 8px !important; font-size: 14px !important; } ⚠️ Problema comune dopo l'installazione: interfaccia admin "monca"Su alcuni hosting condivisi, dopo l'installazione potrebbe capitare che:La toolbar di amministrazione sia ridotta o incompleta.Manchino voci di menu vitali.L'interfaccia sembri "tagliata" o i fogli di stile non funzionino correttamente.Causa: Un file .htaccess generato automaticamente da Drupal all'interno di sites/default/files/ che fa uso di alcune direttive Apache (Options) non sempre permesse dagli hosting condivisi. Spesso Apache non restituisce un errore 500 esplicito, ma blocca l'accesso ad alcuni script impedendo a Drupal di caricare gli asset.✅ SoluzioneApri il file posizionato in questo percorso:📁 Percorso del filepublic_html/sites/default/files/.htaccessTrova al suo interno questa riga esatta:🔍 Riga da individuareOptions -Indexes -ExecCGI -Includes -MultiViewsCommentala inserendo il simbolo del cancelletto all'inizio del testo:📝 Modifica da salvare#Options -Indexes -ExecCGI -Includes -MultiViewsSalva il file sul server e procedi immediatamente a ricostruire la cache di Drupal lanciando questo comando da terminale:📋 Copia via SSHcd ~/domains/tuodominio.it/public_html php core/scripts/drupal cache:rebuildAlternativa: Se riesci comunque a navigare nei menu rimasti, puoi andare su /admin/config/development/performance e cliccare sul pulsante "Svuota tutte le cache". L'interfaccia grafica tornerà immediatamente alla normalità.📌 Nota: Ricorda che alcuni aggiornamenti importanti di Drupal (eseguibili tramite composer update) potrebbero rigenerare da zero il file .htaccess nella cartella files/. Se il problema della grafica monca si ripresenta in futuro, ti basterà ripetere questa rapida modifica.🚫 Perché evitare gli installer automatici (tipo "installazione in 1 click")⚠️ ATTENZIONE: Molti hosting commerciali offrono all'interno del pannello dei pulsanti pronti del tipo "Installa Drupal in 1 click". Sebbene possa sembrare una scelta comoda ed immediata, si rivela quasi sempre una trappola strutturale. Ecco i motivi principali per cui dovresti evitarli.❌ I problemi delle installazioni automaticheNessuna gestione delle dipendenze: Il core moderno di Drupal si appoggia a decine di librerie PHP esterne di alto livello (come Symfony, Guzzle, Twig). Un installer automatico si limita a fornirti questi componenti già "impacchettati" e statici, privandoti di un vero sistema di controllo.Il file composer.lock non esiste o è incompleto: Questo è il punto più critico. Il file composer.lock ha il compito fondamentale di congelare con precisione chirurgica la versione di ogni singola libreria e modulo installato nel sistema. Senza questo file, non hai alcuna certezza su cosa sia realmente in esecuzione sul tuo spazio web.Nessuna mappatura delle versioni: Quando utilizzi Composer, ogni singolo pacchetto dichiara una versione definita (ad esempio symfony/http-foundation: v6.4.0). Con gli installer ad un click ti ritrovi una "zuppa" di file mescolati senza tracciabilità del software.Aggiornamenti disastrosi: Quando proverai ad aggiornare una versione di Drupal installata automaticamente, il sito molto probabilmente smetterà di funzionare poiché mancano i file storici che indicano a Composer quali versioni di librerie terze fossero presenti prima del processo.Impossibile aggiungere moduli moderni: La sintassi composer require drupal/nome_modulo rappresenta lo standard assoluto per espandere il CMS. Negli installer automatici questa funzione è spesso bloccata o genera conflitti distruttivi.Struttura e percorsi fragili: Questi sistemi alterano i percorsi predefiniti di Drupal creando configurazioni anomale sui server condivisi che rompono la compatibilità con i futuri moduli di terze parti.📊 Il cuore del problema: composer.lock e la mappatura delle dipendenzeQuando installi Drupal utilizzando Composer in modo nativo, il sistema si appoggia su due file di testo essenziali:📄 Ruoli dei file di configurazionecomposer.json → Specifica cosa desideri installare (es. "drupal/core": "^11") composer.lock → Registra cosa hai installato ESATTAMENTE (es. "twig/twig": "3.8.0")Il file composer.lock funge da vera e capita "mappa catastale" del tuo intero applicativo web, catalogando ogni dipendenza e sottodipendenza insieme al rispettivo hash crittografico di integrità. Gli installer in un click rompono questo equilibrio perché:❌ Il file composer.lock è completamente assente.❌ Oppure viene inserito un file fasullo generato in modo artificiale.❌ La cartella vendor/ diventa un ammasso statico di codice non tracciabile.✅ Con Composer (questa guida)File composer.json e composer.lock reali e coerenti.Ogni pacchetto ha una versione specifica e sicura.Mappatura completa e nativa di tutte le sottodipendenze.Aggiornamenti stabili e rapidi con il comando composer update.Moduli aggiuntivi installabili in pochi secondi.Possibilità di ricostruire l'intero progetto da zero in qualsiasi momento.Piena compatibilità con le strutture degli hosting condivisi.Standard di sviluppo pulito e professionale.❌ Con installer automaticoFile composer.lock assente, incompleto o corrotto.Versioni reali delle librerie interne del tutto sconosciute.Nessuna mappatura nativa o sicura delle dipendenze PHP.Rischio altissimo di rompere il database durante gli aggiornamenti.Gestione dei moduli obsoleta via FTP come nel 2005.Impossibilità di replicare l'installazione su altri server di test.Frequenti problemi e blocchi di permessi con i server condivisi.Approccio limitato a utilizzi puramente hobbistici.🎯 Cosa fare se hai già usato un installer automatico?Se sul tuo spazio web è già attiva un'installazione di Drupal creata tramite un tool automatico ad un click, ti trovi davanti a due opzioni:Rimuovere tutto e reinstallare seguendo questa guida: È la scelta che ti consiglio caldamente. Richiede pochissimo tempo e ti garantisce fin da subito una piattaforma web professionale, sicura, robusta e aggiornabile per gli anni a venire.Vuoi approfondire questo argomento con una formazione online?Se desideri approfondire questo argomento con il mio supporto, puoi contattarmi per ricevere maggiori informazioni sui percorsi di formazione live individuale online.Possiamo organizzare un incontro conoscitivo online, senza impegno, durante il quale ti illustrerò le modalità di svolgimento, i costi e le possibili date e orari. Gli orari saranno estremamente flessibili, per trovare insieme una soluzione compatibile con le tue esigenze.Sarà anche l'occasione per capire se il percorso formativo è adatto alle tue necessità e chiarire eventuali dubbi prima di decidere.Scrivimi per maggiori informazioni e per concordare un incontro conoscitivo. Puoi cliccare sul pulsante successivo oppure anche con l'icona WhatsApp a sinistra del sito 

Hai cercato "come installare Drupal", hai trovato tre guide diverse, hai provato a seguirle e qualcosa si è rotto.Non sei tu il problema. È che nessuno te lo ha mai spiegato nel modo giusto.Questo libro fa una cosa sola: ti fa avere Drupal funzionante sul tuo computer in meno di 10 minuti, usando gli strumenti che usano i professionisti, DDEV e Composer, senza perdere una giornata intera su errori incomprensibili.Cosa imparerai:- Come installare DDEV su Windows in particolare, Mac e Linux- La procedura esatta per installare Drupal con Composer, quella che tutti sbagliano- Come gestire moduli, database e aggiornamenti da terminale con pochi comandi- La struttura delle cartelle che Drupal richiede per essere sicuro e professionale- Come risolvere gli errori più comuni in 5 minuti invece di cercare per ore su GooglePer chi è questo libro:Per chi arriva da WordPress e vuole capire come funziona davvero lo sviluppo Drupal. Per chi ha già provato a installare Drupal e si è bloccato. Per chi vuole imparare a usare gli strumenti standard del mercato, non soluzioni artigianali.Apri il libro, segui i passaggi, e dopo 10 minuti hai Drupal che gira nel browser. Poi puoi approfondire. Ma prima devi partire.Leggi l'anteprima del libro su Amazon KDPAcquistalo su Amazon KDP oppure leggilo GRATIS su Kindle unlimited https://www.amazon.it/dp/B0GHWZS9LQEnglish versionhttps://www.amazon.com/dp/B0GRTL7ZRH   

SCRIVIMI

Contatti e supporto tecnico

Il sito di Progettimultimediali.com raccoglie contenuti tecnici su Drupal e sviluppo web in diversi formati:

  • Percorsi Formativi Live - lezioni one to one con il docente
  • Ebook su Amazon KDP - guide e approfondimenti strutturati
  • Articoli sul sito - guide e approfondimenti
  • YouTube - contenuti selezionati e dimostrativi

Se hai domande sui contenuti trattati, puoi contattarmi descrivendo brevemente la tua situazione

Scrivimi →