SilverStripe – CMS et Framework PHP, un CMS à suivre et à comparer à Worpdress, Drupal, Joomla



On continue dans l’exploration des nouveautés dans le monde du CMS open-source c’est à dire bâti autour de PHP-MySQL. Des CMS naissants qui pourraient faire la nique dans quelques années, mois, semaines, jours au triptyque de CMS gagnants que sont : Worpdress, Drupal, Joomla. On avait commencé par Concrete5, on continue avec SilverStripe.

Les critères de sélection

Pour mémoire, la sélection s’est faite sur des critères vraiment basiques, trop peut-être pour des développeurs aguerris mais que vaut la beauté du code au regard du résultat graphique produit par un site, de l’expérience utilisateur et de la courbe d’apprentissage ultra rapide dans la gestion d’un site. Les voici.

  • Scriptiquement parlant, faire un site, basé sur le tandem PHP-MySQL
  • Possiblement hébergement sur un serveur mutualisé
  • Avec un temps d’apprentissage limité pour publier un page ou une galerie de photos par exemple
  • Et pour finir quelques possibilités de personnalisation graphique afin d’éviter que le site ressemble à celui du voisin

Il ne restera désormais sur la liste que Frog CMS, qui est toujours en attente d’un comparatif.

Une définition de SilverStripe

Notre choix s’est porté sur SilverStripe car c’est à la fois un CMS et un framework PHP. Ce qui soit dit en passant à tous les avantages et/ou les inconvénients de l’un et de l’autre ! C’est un peu comme si on réunissez : WordPress et Kohana ou Drupal et CodeIgniter

Pour en savoir un peu plus sur nos deux frameworks favoris chez Hecube.net : Kohana et CodeIgniter. Reportez aux articles précédents de ce blog.

SilverStripe is a PHP CMS built with Sapphire framework, and it uses MVC design pattern. you can view example sites that built with SilverStripe from the official webpage.

Source: http://silverstripe.org/home/

On va faire les test sur SilverStripe-v2.4.4 en local sur MAMP.

Installation de SilverStripe

On va faire les test sur SilverStripe-v2.4.4 en local sur MAMP.

/Applications/MAMP/Library/bin/mysql -u root -p
# Création simultanée de la base sist_install
# et de l'utilisateur sist_install
CREATE USER 'sist_install'@'localhost' IDENTIFIED BY 'sist_install'; GRANT USAGE ON *.* TO 'sist_install'@'localhost' IDENTIFIED BY 'sist_install'WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0; CREATE DATABASE IF NOT EXISTS sist_install;GRANT ALL PRIVILEGES ON sist_install.* TO 'sist_install'@'localhost';

Installation de SilverStripe

Il vous donc au préalable créer la BDD sinon pas mal d’erreurs vont s’afficher sur la page d’installation. Un point intéressant, c’est lors de l’installation vous allez pourvoir configurer l’ensemble du site : Database, CMS Admin Account, Theme…etc. sur une page uniquement.

L’installation

SilverStripe - CMS et Framework PHP, un CMS à suivre et à comparer à Worpdress, Drupal, Joomla

SilverStripe - CMS et Framework PHP, un CMS à suivre et à comparer à Worpdress, Drupal, Joomla

SilverStripe - CMS et Framework PHP, un CMS à suivre et à comparer à Worpdress, Drupal, Joomla

Comme souvent dans un CMS, pour Joomla, il faut faire de même, on doit supprimer les fichiers ou le répertoire d’installation. Il faut tout supprimer manuellement install.php plutôt que de passer par le lien qui vous est proposé.
SilverStripe Install After

Surtout, n’oubliez pas de mettre un adresse email valide pour vous connecter au backend en temps qu’admin.

For security reasons you should now delete the install files, unless you are planning to reinstall later (requires admin login, see above). The web server also now only needs write access to the « assets » folder, you can remove write access from all other folders. Click here to delete the install files.

Exploration de l’administration de SilverStripe (backend)

Commençons par l’administration d’une page. On va modifier les pages qui sont livrées avec l’installation de SilverStripe.

SilverStripe - CMS et Framework PHP, un CMS à suivre et à comparer à Worpdress, Drupal, Joomla

SilverStripe - CMS et Framework PHP, un CMS à suivre et à comparer à Worpdress, Drupal, Joomla

SilverStripe - CMS et Framework PHP, un CMS à suivre et à comparer à Worpdress, Drupal, Joomla

SilverStripe - CMS et Framework PHP, un CMS à suivre et à comparer à Worpdress, Drupal, Joomla

SilverStripe - CMS et Framework PHP, un CMS à suivre et à comparer à Worpdress, Drupal, Joomla

En cas d’erreur, il existe une procédure de rollback comme sous WordPress qui permet de restaurer une version antérieure de votre page.
SilverStripe - CMS et Framework PHP, un CMS à suivre et à comparer à Worpdress, Drupal, Joomla

Pour voir les modifications, ne pas oublier de bien cliquer sur Save and Publish

Il existe des possibilité des batch action sur les pages, ce qui est pas mal lorsque vous devez effectuer une maintenance transversale sur tout votre contenu, par exemple changement du copyright en bas de page !

Gestion des médias et insertion d’une image dans une page

Il faut envoyer l’image, une fois dans votre gestionnaire de médias, vous pourrez l’insérer.
SilverStripe - CMS et Framework PHP, un CMS à suivre et à comparer à Worpdress, Drupal, Joomla

SilverStripe - CMS et Framework PHP, un CMS à suivre et à comparer à Worpdress, Drupal, Joomla

Insertion de l’image dans une page
SilverStripe - CMS et Framework PHP, un CMS à suivre et à comparer à Worpdress, Drupal, Joomla

SilverStripe - CMS et Framework PHP, un CMS à suivre et à comparer à Worpdress, Drupal, Joomla

Changer de thème pour votre site sous SilverStripe

Il est assez simple de cloner le thème par défaut pour ensuite l’accommoder à votre « sauce » webdesign. Dans notre cas, nous allons rapidement créer une thème du nom de hecube sur le base du thème qui est proposé par défaut blackcandy.

Les conseils données par SilverStripe pour créer facilement un thème

  • Unpack the contents of the zip file into the themes directory in your SilverStripe installation.
  • Change the site to the theme. You can do this either by:
    			- putting the following line in your ./mysite/_config.php: `SSViewer::set_theme("themename");`
    			- changing the theme in the Site Configuration panel in the CMS

Pour se faire, il faut copier le répertoire blackcandy, le renommer en hecube puis modifier la paramètres suivants :

On change les éléments dans les feuilles de style .css

* SIST Hecube Theme
* http://www.hecube.net
 
	html {
		/* background: #626467 url(../images/bg.gif) repeat; */
		background-color: #dddddd;
	}

On modifie le thème chargé par défaut. Vous pouvez aussi le faire depuis l’admin.
le fichier est dans /SilverStripe/mysite/_config.php

 
	// This line set's the current theme. More themes can be
	// downloaded from http://www.silverstripe.org/themes/
	/* SSViewer::set_theme('blackcandy'); */
	SSViewer::set_theme('hecube');

Pour information les fichiers SilverStripe par exemple Page.ss sont truffés de pseudo-tags. Ce qui facilite l’intégration si tant qu’on maitrise leurs variables comme sous Drupal par exemple.

 
	<!DOCTYPE html>
 
	<html lang="$ContentLocale">
	  <head>
			<% base_tag %>
			<title><% if MetaTitle %>$MetaTitle<% else %>$Title<% end_if %> &raquo; $SiteConfig.Title</title>
			$MetaTags(false)
			<link rel="shortcut icon" href="/favicon.ico" />
 
			<% require themedCSS(layout) %> 
			<% require themedCSS(typography) %> 
			<% require themedCSS(form) %> 
 
			<!--[if IE 6]>
				<style type="text/css">
				 @import url(themes/blackcandy/css/ie6.css);
				</style> 
			<![endif]-->
		</head>
	<body>
		<div id="BgContainer">
			<div id="Container">
				<div id="Header">
					$SearchForm
			   		<h1>$SiteConfig.Title</h1>
			    	<p>$SiteConfig.Tagline</p>
				</div>

C’est un essai « quick and dirty ». Pour développer votre propre thème, reportez-vous à la documentation qui n’existe malheureusement qu’en anglais.

SilverStripe - CMS et Framework PHP, un CMS à suivre et à comparer à Worpdress, Drupal, Joomla

Source: http://doc.silverstripe.org/sapphire/en/topics/themes

Pour accéder à l’admin, il vous suffit d’ajouter /admin/ à la en racine de l’adresse de votre site dans un navigateur http://127.0.0.1/SilverStripe/admin/

En savoir plus