• User Attivo

    @flaviors200 said:

    Pensa all'area di amministrazione di WP ad esempio, quello è il backend. L'area visibile a tutti è il frontend.

    Ok, grazie.
    Quindi, chiedo di nuovo: newwebmaster vuoi creare un CMS, cioè un sito con un frontend visibile a tutti e un'interfaccia backend di amministrazione che permette di modificare i contenuti del frontend?


  • User Attivo

    Ciao, non voglio creare un CMS, ma "solamente" un sito con sua area di amministrazione, un CMS è qualcosa di diverso, ad esempio worpress permette di cambiare temi, aggiungere plugin, widget, ecc, io intendo prorpio un sito con sua area di amministrazione, non sapre spiegare in atro modo


  • User

    non voglio creare un CMS, ma "solamente" un sito con sua area di amministrazione

    quindi, secondo me' hai sbagliato sezione

    poi te l'ho detto, inizi da zero
    creati le tue pagine base (index, contact, about)
    poi (e qui passiamo a php o js) fai un link a una pagina login/register, ma devi avere un database dove registrare i dati.
    dopo il login apri il tuo panel personalizzato (io ti consiglio AdminLte, lo modifichi come vuoi)
    e poi fai quello che ti pare
    nel dubbio chiedi, ciao


  • User Attivo

    @newwebmaster said:

    Ciao, non voglio creare un CMS, ma "solamente" un sito con sua area di amministrazione, un CMS è qualcosa di diverso, ad esempio worpress permette di cambiare temi, aggiungere plugin, widget, ecc, io intendo prorpio un sito con sua area di amministrazione, non sapre spiegare in atro modo

    Ok, l'equivoco è qui: CMS = "Content Management System" ed è qualsiasi sito dotato d'interfaccia di amministrazione dei contenuti, anche minima, in opposizione ai siti nei quali l'unico modo per modificare i contenuti è operare direttamente sul codice.

    Per esempio, un'interfaccia backend che ti permette di aggiungere o modificare le foto di una gallery, anziché farlo modificando direttamente l'HTML della pagina, costituisce già un CMS.

    Quindi, stabilito che vuoi creare un CMS, i consigli che ti ha dato flaviors200 mi sembrano ottimi, a meno che tu non voglia cimentarti nella scrittura amanuense dei codici PHP o ASP o qualsiasi altro linguaggio per raggiungere il tuo obiettivo.

    Io posso soltanto aggiungere che, a mio parere, al di là di eventuali scopi didattici, inventare la ruota da capo non ha molto senso e che in genere è meglio appoggiarsi a strutture collaudate come WordPress, Joomla o Drupal, beneficiando così delle patch (soprattutto quelle relative alla sicurezza) e sulle quali, eventualmente, sviluppare ciò che manca al raggiungimento dell'obiettivo, concentrando gli sforzi sul creare ciò che ancora non esiste o non soddisfa i tuoi requisiti.


  • User Attivo

    Ciao, 10 anni fa commissionai un sito web ad uno studio che faceva questi lavori, mi consegnò un sito che aveva la sua area di amministrazione alla quale accedevo con login e così anche gli iscritti alla loro area dopo aver acquistato, quindi in poche parole mi aveva venduto un CMS 🙂
    Io utilizzo wordpres e la definizione di CMS per un sito di quel tipo che mancava di tanti elementi come widget, plugin, ecc mi sembrava esagerata ma concordo che se per CMS intendiamo backend e frontend allora si si tratta di CMS.
    Quindi eventualmente volendo creare un CMS, ossia un sito con backend e frontend, avete qualche libro da consigliarmi che spiega questo tema con esempi pratici?


  • User Attivo

    Non credo esistano libri che impararino a sviluppare un CMS, piuttosto ti guidano su tutto ciò che serve per lo sviluppo di un'applicazione web (incluso CMS): sessioni, come gestire registrazione e login, upload di file, tecniche contro le vulnerabilità note (sql inj, xss, csfr, etc...), pattern MVC, routing, etc...

    Quello di Zimuel che ti ho postato prima è un'ottima risorsa.

    Concordo cmq con Altrasoluzione, reinventare la ruota non è cosa buona. Se è per scopi personali ti capisco benissimo, fallo pure. Anche se da sviluppatore sono più portato a consigliarti un framework piuttosto che un CMS (WP in particolare :D), o quantomeno usa librerie note e ben testate, ad esempio GuzzleHTTP per gestire le richieste e risposte.


  • User Attivo

    @newwebmaster said:

    ...la definizione di CMS per un sito di quel tipo che mancava di tanti elementi come widget, plugin, ecc mi sembrava esagerata ma concordo che se per CMS intendiamo backend e frontend allora si si tratta di CMS.

    Widget, plugin, ecc... sono soltanto altri modi per aggiungere contenuti al sito. Il CMS ha lo scopo di permetterti di aggiungerli senza dover scrivere neanche una riga di codice, che è il motivo per cui sono stati inventati i CMS, ancor prima che i moderni Joomla, Drupal e WordPress facessero la loro apparizione, quando avevo ancora tutti i capelli e pesavo 30 chili di meno 😄


  • Moderatore

    Ciao newwebmaster,
    credo che tu abbia un pelo di confusione ma soprattutto la stanno facendo tutti coloro che stanno dando una risposta.
    La sola risposta che puoi prendere per buona è quella di flaviors200 che ti ha illustrato esattamente il percorso che dovresti intraprendere.
    Parti per step:

    • Apprendi per bene PHP

    • Impari ad effettuare le connessioni al database sfruttando PDO/MySQLi

    • Apprendo i diversi tipi di Database

    • Apprendo le relazioni tra le tabelle e studi le Transact-SQL

    • Capisci ed utilizzi la programmazione orientata oggetti - OOP

    • Comprendere efficacemente il pattern MVC (model view controller) per la realizzazione di applicazioni scalabili

    • Studi un framework (Laravel, Symphony, Zend)

    • Realizzi il tuo CMS (Che sta per Content Management System o Gestore dei contenuti)

    Ti segnalo anche io il libro indicato da flaviors200 in quanto è ottimo.
    L'IDE che ti consiglio attualmente è VSCODE
    Utilizza Git per il sistema di versionamento o meglio ancora Docker che ti permette di realizzarti dei container e di fare versioning più facilmente.

    Buono sviluppo


  • User Attivo

    Ringrazio tutti per le risposte! Sicuramente, facevo confusione io, come dicevo prima a me personalmente veniva da dire che un CMS fosse qualcosa in più di un semplice sito web con pannello di amministrazione ma capisco che siano in sostanza la stessa cosa, in fondo anche un plugin non è altro che un pezzo di codice che viene inserito in maniera semplice ma in sostanza è codice che parla col resto, quindi questa dicotomia che facevo tra CMS e sito web con pannello di amministrazione è superflua.
    Grazie per i riferimenti alle risorse e per l'attenzione!


  • User Attivo

    Aggiungo un link a una risorsa a mio parere eccellente per comprendere il pattern MVC https://symfony-docs-it.readthedocs.io/en/latest/from_flat_php_to_symfony2.html

    Studiala per bene, anche se sceglierai di non usare Symfony ti si aprirà comunque un mondo nuovo.

    Edit: è da prendere come spunto anche perché fa uso di funzioni deprecate.


  • User Attivo

    Grazie Flaviors, ho ordinato il libro che mi hai indicato, grazie del link alla risorsa, do un'occhiata!


  • Moderatore

    Ciao
    vorrei anche aggiungere un mio pensiero in merito. Diverse agenzie Web, poche per la precisione, usano un Cms da loro sviluppato per gestire i Siti Internet e Shop dei clienti.

    Questo ha il vantaggio che l'agenzia ha un suo Cms personalizzato e conosciuto in modo perfetto dai programmatori interni ma lo **Svantaggio **che il cliente è legato all'agenzia e che se vuole migrare altrove il sito va rifatto, se poche pagine va bene ma se Shop con migliaia di prodotti e ordini è un lavoraccio la migrazione, sempre che sia possibile.

    P.s.
    Analizzando siti realizzati con Cms fatti in "casa" ho riscontrato che hanno errori strutturali alle url, canonical ecc. ecc. e sopprattutto che ogni implementazione che si desidera fare e/o cambiamento di Google o di altro timo sono lunghi e a volte impossibili da fare.


  • User Attivo

    Condivido ciò che dici, soprattutto sul fatto che le agenzia tendono a tenere legati i clienti in qualche modo e quello è sicuramente un modo efficace.
    Personalmente utilizzo per i miei siti wordpress, il mio interesse per questa cosa di cui ho aperto discussione è puramente tecnico/personale, una esercitazione per capire meglio il funzionamento di questa tecnologia per poi migliorare nella personalizzazione dei miei siti, ma ciò che dici è molto condivisibile, almeno a mio parere.


  • User

    Ciao, è la stessa domanda che mi sono posto circa un anno fa, e ti dico che per esperienza non ne vale la pena. Ammesso che tu abbia già tutte le conoscenze html, css, php, javascript,mysql , configurazione apache o IIS sicurezza e crittografia (perchè non vorrai che al primo input uno ti scriva drop table e cancelli tutto il lavoro.... :D), è un lavoro enorme.
    Lo stesso WP non è stato fatto solo da una persona ma da un team. Certo se tu mi dici ho una azienda leader mondiale che mi ha chiesto un cms proprietario e mi da' 30 mila euro allora ne vale la pena. Ma diversamente chi è che ti chiede un lavoro cosi sapendo aspettare la realizzazione (non meno di 6 mesi) e soprattutto sostenere il costo?
    Ricordati sempre che c'e' l'amico del cugino che ti chiede 1000 euro per un sito in WP e difficilmente sarà meno competitivo del tuo


  • User Attivo

    Ciao, la mia ottica è diversa.. allora PHP javascript e mysql sto studiando, col poco tempo che mi rimane ma faccio progressi costanti, non è che mi preoccupa tantissimo questo aspetto.
    La mia è una cosa personale, mi paicerebbe fare un sito fatto interamente da me e utilizzato solo da me, non è qualcosa che voglio sviluppare per vendere.
    Comunque ci sono piccole aziende della mia zona che fanno siti in PHP senza utilizzare CMS come WP o joomla, ecc tutti i giorni e a cifre tipo quelle dell'amico del cugino 🙂 poi dipende anche cosa devono fare questi siti chiaramente 🙂
    Ma quindi tu poi ce l'hai fatta?
    Se si allora racconta la tua esperienza, così aiuti me e qualche altro pazzo 🙂


  • User

    Alla fine l'avevo fatto ma è rimasto per me perchè il cliente non ha pagato. Non era paragonabile alle funzioni di WP perchè non permetteva la creazione di nuove pagine o ridimensionare immagini, o gestire i commenti. Permetteva di cambiare il contenuto di 2 pagine web, dei contatti, dell'amministrazione, tutto con backend . C'era poi una sezione news dove si potevano inserire data, titolo, descrizione e allegare una brochure.
    Infine si potevano creare gallery infinite uplodando le foto per ogni evento che facevano


  • User Attivo

    Non era un sito dinamico, con db?


  • User

    Si certo i contenuti venivano presi/salvati da DB


  • User Attivo

    Allora hai comunque fatto un buon lavoro, sei partito da qualche progetto già preesistente? Com'è stato l'approccio, riesci a essere più specifico? Anche su come creare il backend ad esempio.


  • User

    Mah guarda ti direi che ha influito molto il mio modo di ragionare "matematico". Non ho mai pensato al progetto nel suo intero ma pensando sempre al piccolo passo. Le domande che ti devi porre sono essenzialmente 3: cosa devo fare? cosa si aspetta l'utente? come farlo nel modo più semplice dal punto di vista piu' generale possibile (programmazione, intuitività, sicurezza, layout ecc).
    Poi mi sono fatto aiutare da alcuni plugin gratuiti per il solito principio che 'Non dobbiamo reinventare la ruota tutte le volte' 😄
    Che altro dire.... mi pare di aver capito che mastichi un po' di tutto (php, css, javascript) in questo caso cerchi in rete (rigorosamente in inglese) e più o meno trovi di tutto