- Home
- Categorie
- Coding e Sistemistica
- PHP
- Creare Un CMS
-
Grazie del consiglio, hai perfettamente ragione. Infatti mi sono chiesto: Ma perché creare un CMS quando ho la possibilità di usare Drupal, che fa praticamente tutto?
Ho deciso quindi di affidarmi a Drupal e continuare a studiare PHP per poterlo utilizzare al massimo, per sfruttare tutte le sue capacità. Spero sia la scelta migliore
-
Personalmente sono contrario all'uso di joomla, drupal e via discorrendo.
Quando ho bisogno di sviluppare un programma che deve fare determinate cose, lo faccio in modo che faccia e bene quelle determinate cose... non deve farne altre.
Se dovesse avere dei problemi o bisogno di aggiunte/modifiche, saprei dove mettere le mani... senza contare il fatto che il codice tuo è codice tuo!
-
Si, beh hai ragione. Comunque un mio amico, molto gentile, ha deciso di crearmene uno, in base a quello che mi serve a me. Infatti mi ha chiesto di illustrargli come voglio che sia la grafica, per esempio dove saranno i menu, etc.. Dopo di che, quali funzioni base mi servono e poi mi inizia a creare il CMS, ovviamente mi commenta per bene tutto il codice, così che posso modificarlo e man mano aggiungere quello che mi serve a me, infatti lui inserisce solo le cose fondamentali, il resto glielo inserisco io. Poi ci sentiamo anche con Team Viewer e mi spiega pian piano il codice, è molto gentile e ha molta pazienza, un vero amico. Poi magari, perché no, quando sarà finito, magari lo renderò pubblico e Open Source.
-
Io ti consiglio di studiare prima bene la parte teorica, magari facendo qualche piccolo esercizio per ogni "capitolo". Poi segui qualche tutorial o qualche guida per creare una parte di un possibile cms (sistema di registrazione, commenti, ecc...).
E' sicuramente un lavoro abbastanza complesso se vuoi farlo bene, ma con impegno e soprattutto voglia ci riuscirai
-
Grazie moneta, comunque ne aprofitto per chiedere un'altra cosina. Io ho bisogno di fare in modo che quando clicco un pulsante(che chiamerò: Accedi), mi si apre una finestrella al centro del sito, con il form di login, con scritto quindi: Username, Password e il pulsantino login per entrare. I form ovviamente li ho già pronti io, mi serve solo sapere come fare in modo di aprire la finestrella, come per esempio sul sito del gioco: drakensang-online(quando clicchi su registrati). Spero di essermi spiegato bene
-
@LucaBuda said:
Grazie moneta, comunque ne aprofitto per chiedere un'altra cosina. Io ho bisogno di fare in modo che quando clicco un pulsante(che chiamerò: Accedi), mi si apre una finestrella al centro del sito, con il form di login, con scritto quindi: Username, Password e il pulsantino login per entrare.
Devi usare javascript.
Comunque questo è l'ultimo dei problemi...
La realizzazione di un cms è molto complicata e prima di affrontarla devi conoscere html, javascript, css e php come il palmo della tua mano.
Non solo, devi conoscere perfettamente almeno un framework javascript (JQuery, Mootools, Dojo ...) da utilizzare per la creazione dell'UI (altrimenti passerai nottate insonni ad effettuare test multi browser e multi piattaforma).
Ti consiglio inoltre (qualora non li conoscessi) di apprendere i concetti di OOP, singleton, registry, MVC.
[...]In bocca al lupo
-
Perchè crearsi un cms quando ne esitono tanti pronti e funzionanti? Se io devo fare un sito ad un cliente e devo costruirmi prima il Cms quanto tempo impiegherò? E soprattutto che prezzo dovrò chiedere?
Credo che fare un cms da zero sia poco conveniente. Meglio studiarsi il php, scegliere un cms e all'occorrenza crearsi un componente/plugin personalizzato
-
@bismark2005 said:
Credo che fare un cms da zero sia poco conveniente.
Invece è conveniente installare un mattone per avere un'area dove aggiornare semplicemente dei testi e immagini?Alla fine sono ben poche righe di codice che servono...
-
@LucaBuda said:
Si, beh hai ragione. Comunque un mio amico, molto gentile, ha deciso di crearmene uno, in base a quello che mi serve a me. Infatti mi ha chiesto di illustrargli come voglio che sia la grafica, per esempio dove saranno i menu, etc.. Dopo di che, quali funzioni base mi servono e poi mi inizia a creare il CMS, ovviamente mi commenta per bene tutto il codice, così che posso modificarlo e man mano aggiungere quello che mi serve a me, infatti lui inserisce solo le cose fondamentali, il resto glielo inserisco io. Poi ci sentiamo anche con Team Viewer e mi spiega pian piano il codice, è molto gentile e ha molta pazienza, un vero amico. Poi magari, perché no, quando sarà finito, magari lo renderò pubblico e Open Source.
e alla fine lo hai pubblicato?
-
Ho creato il mio CMS quasi per caso e lo sto felicemente usando da un po' di tempo, con commenti molto positivi dai miei amici e clienti. Non è un compito molto difficile e PHP è un linguaggio splendido per questo scopo, grazie al suo set di istruzioni molto potente. Bisogna però mettere in conto 1-2 anni di perfezionamenti e migliorie: non credo che nessuno possa progettare un CMS perfetto al primo colpo.
In passato avevo già provato vari CMS.
Drupal, Joomla e Wordpress decisamente sconsigliabili, soprattutto in versione italiana: ha senso usarli solo per fare grandi portali o per spillare soldi ai clienti, che credono importante la bella grafica (a nessun lettore importa la grafica) ma poi si rifiutano di usare un editor troppo complesso, perché pensato per i grandi portali. In più metterci le mani è molto complicato e c'è sempre la porta aperta agli hacker.
CMS piccoli sono un po' troppo spartani per fare veri siti. CMS medi vanno piuttosto bene e sono ragionevolmente facili da usare, ma spesso sono a pagamento e non si possono modificare facilmente.
Quindi evviva il fai da te, purché ci sia veramente qualcosa di innovativo in quello che si fa. Io ho puntato su velocità, così Google non mi penalizza mai (mentre penalizza sempre i siti fatti con Wordpress - vedi Google Speed Insight), semplicità d'uso (tempo di apprendimento utente 15-20 minuti), grande modularità per facilitare le personalizzazioni e la scalabilità (i miei siti vanno da 10-20 pagine a molte migliaia di pagine senza perdere velocità).
Come sempre è importante usare la propria testa, non seguire a occhi chiusi il Vangelo dei programmatori. Quindi niente data base (non solo inutile, ma dannoso in queste applicazioni), meglio mark-down che editor tipo word (impaginazione perfetta e maggior rapidità nell'editing), template predefiniti da me, ma completa libertà per l'utente nel creare nuove sezioni e modificare i percorsi di navigazione. Ovviamente compressione automatica e ottimale delle immagini a seconda degli spazi del template, perché nessun utente sa gestire le immagini correttamente. Contrariamente a tutti quelli che fanno siti web, io voglio che i miei clienti siano completamente autonomi e non mi facciano perdere tempo stupidamente per correggere i loro contenuti e inserire nuove sezioni o nuove pagine.
Mi sono dilungato un po' per descrivere la mia interessante esperienza: mi piacerebbe leggere le esperienze di altri che si sono fatti il loro CMS per confrontare idee e approcci diversi.
-
IMO preferirei un CMS fatto a mano rispetto ai prodotti blasonati. In base al progetto penso che i database possano essere importanti grazie alla potenza e flessibilità di SQL rispetto ad altre strutture di dati su file. Quello che sto sviluppando procede a rilento a causa di altri impegni. Attualmente ciò che propongo potrebbero essere considerate porzioni di un CMS. Per ora non ho intenzione di diffonderlo ai visitatori casuali.
-
Ho scoperto l'inutilità e la pericolosità dei data base quando ho sbaragliato le aziende francesi a casa loro, nella gestione di eventi real time. Da allora se sviluppo una applicazione mi chiedo sempre se il DB serva o meno. Nel 90-95% dei casi non serve e introduce pesantezza e complicazioni inutili. Tu usi le parole potenza e flessibilità: io direi debolezza e rigidità.
I DB sono importanti e indispensabili quando si hanno strutture complesse a maglia o con molti milioni di dati, mentre usare DB per gestire liste è ridicolo. Una lista di decine di migliaia di record si programma molto più rapidamente con semplici programmini PHP e l'output è molto più veloce (circa 10 volte rispetto a Mysql). Anche gestire informazioni ad albero coi DB è discutibile: qualunque server ha giù un file system ad albero velocissimo: perché creare un albero dentro un altro albero?
Così facendo Google Speed Insights mi da almeno 80/100 a siti appena fatti, ancor prima dell'ottimizzazione: i molti siti Wordpress che ho controllato hanno mediamente una valutazione Google di 50/100, nessuno arriva oltre 70/100 , qualcuno scende anche sotto 30/100
Naturalmente per andare su queste strade bisogna avere un po' di fantasia, non prendere per vero tutto quello che ti raccontano i libri e gli insegnanti, che in generale ripetono a pappagallo vecchie idee: bisogna essere uno spirito libero, magari un po' iconoclasta.
Giusto per darti un'idea con questo approccio non ho sviluppato solo CMS, ma anche altre applicazioni on-line, come la gestione del marketing prodotti di una multinazionale molto diversificata, la gestione di vari centri migranti con moduli e documenti personali di tutti i tipi, il sistema clienti fornitori dipendenti di aziende medio-piccole. E credo che i 20 più grandi gruppi francesi stiano ancora gestendo tutti i loro azionisti col mio software fatto 25 anni fa senza DB.
Quanto al tuo CMS l'importante è usarlo nella pratica per capire le migliorie da apportare: a rilento possono procedere le migliorie, ma dopo qualche mese le funzioni più semplici per sviluppare siti abbastanza standard dovrebbero funzionare, altrimenti è bene capire cosa non va nella logica di base.
-
@ Massimo1940 credo che non abbia letto bene il mio precedente post. I DB sono utili per lavorare con i dati, chi ha mai parlato di liste ed altre strutture di dati che menziona? Cita MySQL eppure anche la scelta del database dovrebbe essere opulata per ottenere il massimo beneficio, mi spiego se è una risorsa che deve essere accessibile a più server allora è una possibile soluzione, anche se penso possano essercene di migliori. Invece se fosse sullo stesso server potrebbe bastare un DB su file binario per esempio SQLite che tra l'altro è libero da licenze ed è molto più veloce di MySQL. Poi com'è che si dice il mondo è bello perché vario.
-
Forse mi è sfuggito qualche dettaglio. Se stiamo parlando di CMS stiamo parlando di dati che sono su un server e questi dati dovranno avere una struttura, quindi concordo sul fatto che bisogna usare lo strumento più idoneo per gestirli a seconda della struttura. Ho però fatto notare che nella maggior parte dei casi, e in particolare nei CMS, le strutture sono così semplici che un DB è del tutto inutile.
Però sono semplici se il programmatore sa renderle semplici. Infatti ci sono molti modi di affrontare lo stesso problema: ho visto spesso che chi programma usando le regole tradizionali anziché il buon senso tende a complicare le cose semplici.
Sì, SQlite è molto più veloce di MySQL, infatti avevo pensato di usarlo: però ho visto che scrivendo poche righe di codice si ottengono gli stessi risultati, ma con maggior velocità e semplicità. Come ho già detto buona parte del merito è di PHP, che ha un set di istruzioni fantastico per questo tipo di applicazioni: con altri linguaggi avrei dovuto faticare un po' di più per fare il mio CMS.
-
@Massimo1940 said:
Ho creato il mio CMS quasi per caso e lo sto felicemente usando da un po' di tempo, con commenti molto positivi dai miei amici e clienti. Non è un compito molto difficile e PHP è un linguaggio splendido per questo scopo, grazie al suo set di istruzioni molto potente. Bisogna però mettere in conto 1-2 anni di perfezionamenti e migliorie: non credo che nessuno possa progettare un CMS perfetto al primo colpo.
In passato avevo già provato vari CMS.
Drupal, Joomla e Wordpress decisamente sconsigliabili, soprattutto in versione italiana: ha senso usarli solo per fare grandi portali o per spillare soldi ai clienti, che credono importante la bella grafica (a nessun lettore importa la grafica) ma poi si rifiutano di usare un editor troppo complesso, perché pensato per i grandi portali. In più metterci le mani è molto complicato e c'è sempre la porta aperta agli hacker.
CMS piccoli sono un po' troppo spartani per fare veri siti. CMS medi vanno piuttosto bene e sono ragionevolmente facili da usare, ma spesso sono a pagamento e non si possono modificare facilmente.
Quindi evviva il fai da te, purché ci sia veramente qualcosa di innovativo in quello che si fa. Io ho puntato su velocità, così Google non mi penalizza mai (mentre penalizza sempre i siti fatti con Wordpress - vedi Google Speed Insight), semplicità d'uso (tempo di apprendimento utente 15-20 minuti), grande modularità per facilitare le personalizzazioni e la scalabilità (i miei siti vanno da 10-20 pagine a molte migliaia di pagine senza perdere velocità).
Come sempre è importante usare la propria testa, non seguire a occhi chiusi il Vangelo dei programmatori. Quindi niente data base (non solo inutile, ma dannoso in queste applicazioni), meglio mark-down che editor tipo word (impaginazione perfetta e maggior rapidità nell'editing), template predefiniti da me, ma completa libertà per l'utente nel creare nuove sezioni e modificare i percorsi di navigazione. Ovviamente compressione automatica e ottimale delle immagini a seconda degli spazi del template, perché nessun utente sa gestire le immagini correttamente. Contrariamente a tutti quelli che fanno siti web, io voglio che i miei clienti siano completamente autonomi e non mi facciano perdere tempo stupidamente per correggere i loro contenuti e inserire nuove sezioni o nuove pagine.
Mi sono dilungato un po' per descrivere la mia interessante esperienza: mi piacerebbe leggere le esperienze di altri che si sono fatti il loro CMS per confrontare idee e approcci diversi.mi interessa sapere di più sul tuo CMS, è possibile? Grazie.
-
Si certamente. Puoi vedere gli ultimi siti che ho fatto con questo CMS, tanto per avere un'idea: glamourboats.com in Spagna e feninaimmobiliare.com in Tunisia, oppure cose un po' più vecchie in cui ho usato le versioni precedenti, come milanoglamour.com e tecnologopercaso.com in Italia o femteconline.org (molto internazionale). Puoi notare la velocità, che il risultato della semplicità. Per qualche spiegazione (un po' noiosa e molto più complicata che usarlo in pratica), puoi cercare MMS su EUROTEAM.IT . Vedi anche MMSHOPS. ORG: è il nonno di MMS. La stessa logica, ma una struttura interna molto più complessa, che però è banale da usare per chi sa appena accendere il PC. Molto più facile raccontarti tutto a voce, via telefono o Skype: puoi contattarmi attraverso i contatti di EUROTEAM. Nessun problema a darti gratis una "vetrina virtuale" per pubblicare i tuoi contenuti su MMSHOPS (complementare al sito, perché MMSHOPS è un portale di promozione prodotti/servizi): credo che sia l'unico modo per capire veramente la semplicità del sistema.