SimpleCMS

le Petit qui fait comme les Grands

a marqué ce sujet comme résolu.

Bonjour à tous :)

Je viens vous présenter mon projet, le plus gros que j’ai jamais eu. Je suis en train de développer un CMS :) nommé SimpleCMS. Il a pour but de donner clé en main un site web complet et utilisable directement. Sa particularité c’est qu’il n’utilises pas de base de données standard mais une sauvegarde par fichier JSON. La performance en est grandement accru.

SimpleCMS se concentre sur l’essentiel. Exit les tas de fonctionnalités. Ici on les modules fournis de bases sont :

  1. Posts : le module central du CMS il permet de créer/éditer/supprimer des billets.
  2. Pages: ce module permet de créer des pages statics.
  3. Edito: Page d’accueil du CMS vous permet de créer une description courte de votre site web.
  4. Menus: La gestion des menus est gérer directement dans l’administration. Vous pouvez ajouter/supprimer des menus ainsi que définir les accès (visiteur/utilisateur/administrateur). Vous avez aussi la possibilité de créer une double vue (afficher "Connexion" pour les visiteurs et "Déconnexion" pour les utilisateurs par exemple. Les liens sont entièrement personnalisable !
  5. Users : Le module qui permet de gérer le CMS. Vous avez la possibilité d’étendre le le module et permettre l’inscription.

Pour la mise en forme des textes, l’éditeur Trumbowyg est utilisé.

quelques screens : Image utilisateur Image utilisateur Image utilisateur

Bonjour,

sauvegarde par fichier JSON. La performance en est grandement accru.

Permets-moi d’en douter. Une base de données type MySQL ou MongoDb utilise la mémoire temporaire pour stocker des index de recherches, répartir les requêtes, protéger la BDD, optimiser l’écriture et la lecture sur le disque. Cas simple : quand 20 personnes souhaitent modifier en même temps le fichier, qu’est-ce qu’il se passe ?

Alors oui la lecture depuis le disque est parfois plus rapide, l’écriture en revanche ce n’est pas la même chose. En général, les moteurs utilisent des caches pour améliorer l’affichage.

Pour ce qui est du design, je t’encourage à aller plus loin. Après comment comptes-tu le partager ? Est-ce pour ton usage personnel ? Professionnel ?

Merci pour ta réponse. Alors oui effectivement, si c’est pour avoir un site web de type extra communautaire avec forum etc .. Il ne faut pas envisager le CMS car il n’est pas prévu pour cela. Il sagit d’un CMS orienté Blog Personnel.

Pour l’affichage, c’est bien-sûre pas définitif car ce projet est toujours en développement à l’heure actuelle. Dès que celui-ci sera utilisable en production, il pourra être télécharger sur le site web (pas encore disponible).

Voilà :)

+0 -0

Salut,

Tu n’as mis aucun lien pour découvrir le CMS (une documentation, un Github, etc.).

+0 -0

Bonjour,

sauvegarde par fichier JSON. La performance en est grandement accru.

Permets-moi d’en douter. Une base de données type MySQL ou MongoDb utilise la mémoire temporaire pour stocker des index de recherches, répartir les requêtes, protéger la BDD, optimiser l’écriture et la lecture sur le disque. Cas simple : quand 20 personnes souhaitent modifier en même temps le fichier, qu’est-ce qu’il se passe ?

Yarflam

J’en doute aussi. Le stockage BDD est en général très optimisé sur la représentation des données sur disque, à la fois pour la récupération et pour la modification. Au contraire du fichier JSON qui doit être lu, parsé, rendu en mémoire (avec l’overhead de la représentation d’objets PHP) pour qu’on puisse enfin chercher ou modifier des choses dedans, puis il faut ré-écrire tout ça pour sauvegarder.

Même sur un petit volume de données qui ne nécessiterait pas d’indexation particulière, je suis à peu près sûr qu’une DB comme SQLite fait mieux qu’un fichier JSON pour la lecture et l’écriture.

Je comprends qu’un petit site n’a pas besoin de se coltiner un MySQL ou un PostgreSQL à côté, mais as-tu pensé à SQLite ? Il peut être un bon candidat dans ton cas, je pense. :)

Le CMS est toujours à l’état de développement donc il peu y avoir des bugs et/ou des problèmes de sécurité. donc évidemment pas à utiliser en production. Si vous avez des suggestions pour amélioré tout ça je suis preneur :) il y a bien un lien github : https://github.com/MrToine/SimpleCMS

ToineSensei

Un petit README des familles ! ;)

Sinon petite astuce pour le routage, tu peux créer un fichier .htaccess contenant ceci :

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteRule ^(.*)$ %{ENV:BASE}index.php?_route=$1 [L,QSA]

Tous les chemins tomberont sur l’index.php à la racine, ça te permet ensuite d’effectuer un découpage avec ton core selon $_GET['_route'] et d’afficher les bonnes ressources.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte