Bonjour,
A la recherche d'un CMS sur symfony2, j'ai commencé à me renseigner sur les différents et récents acteurs sur le marché. (SonataPageBundle, IbrowsSimpleCMSBundle, CMF (http://cmf.symfony.com/) )
J'ai plusieurs pré-requis :
- Facile a installer.
- De préférence en édition directe
- Un système de block
- Gestions des langues
Mon premier choix (pas encore définitif) s'est porté sur le CMS Alphalemon Open source (http://alphalemon.com/) car il reprends un peu tout ce que je recherche. Attention je précise ce n'est en aucun cas un tuto officiel, je n'ai aucun intérêt derrière si ce n est d'apporter un peu d'information et qui sait de l'aide.
Je vais donc expliquer ici, la procédure d installation (car elle n est que en Anglaise et bien entendu pas des plus complètes). Cela permettra à d'autres de le tester et au final de se faire une idée bien plus précise.
La première chose que l'on doit faire lorsque l'on veut installer un bundle est de lire la Doc :-) (en anglais) => on la retrouve ici (https://github.com/alphalemon/alphalemon-docs)
Dans un premier temps nous allons fonctionner via la Sandbox (bac à sable, c est un peu un site cléf en main pour pouvoir tester le tout rapidement et dans une seconde phase nous verrons comment l installer en Bundle)
Mais bon reprenons les étapes:
Etape 1.
- Créer le répertoire ou vous voulez installer le cms (en général si vous travailler en local, ce dernier devrait être dans le répertoire du localhost de votre machine). je l 'ai appelé 'alphalemon' => original je sais :-)
- Via la console on va dans le répertoire fraichement créé (dans notre exemple : 'alphalemon') et via une simple ligne de commande nous allons remplir ce dossier 'alphalemon' de fichiers nécessaires au bon fonctionnement du CMS :
git clone https://github.com/alphalemon/AlphaLemonCmsSandbox.git
- Une fois le download terminé, n'hésitez pas à jeter un coup d'oeil dans le répertoire 'alphalemon'. Comme vous pouvez le voir nous nous retrouvons avec une structure qui devrait vous êtes familière :-)
- Premier réflexe vérifier que les permissions des dossiers 'cache' et 'logs' dans app soient en 777 (ainsi que leur contenu).
Etape 2
- Alors en gros c est fini ? j'aurai du vous répondre 'oui' car l'idée d'une Sandbox est de pouvoir directement utiliser notre installation. Cependant le projet étant encore en Beta et vous remarquerez qu'il nous manque un des dossier les plus importants de symfony2 => celui des librairies alias 'vendor'.
- Pour installer ces librairies on va utiliser 'Composer'. Ce même composer nous permettra de reprendre les dernières mise à jours en une seul ligne de commande.
- Via la console on se positionne sur la racine de notre application (alphalemonCmsSandbox) et on tape la commande :
curl -s http://getcomposer.org/installer | php
- Ensuite il faut lancer la commande via la console (toujours à la racine) :
php composer.phar install
pour installer les librairies.
(a titre d'information, vous avez un fichier 'composer.json' que nous avons repris lors de notre première partie qui liste toutes les librairies que nous allons installer, il est important de savoir que si demain une nouvelle mise à jour venait à être livré, la commande : 'php composer.phar update' va mettre à jour toutes nos librairies qui sont listés dans le fichier 'composer.json' )
- Nous voila avec toutes les librairies nécessaires au bon fonctionnement du CMS (vous pouvez vérifier le dossier 'vendor')
Etape 3:
- Eh non c est pas encore fini :-/. Malheureusement il reste encore une manipulation qui va permettre de terminer l'installation (base de donnée entre autre)
- Nous avons 2 choix, soit nous passons par la console (mon choix), soit via l'interface web (j'avoue ne pas l'avoir testé)
- Via la console on tape :
app/console alphalemon:install-cms
, Il faut remplir des données tel que le nom de notre société, bundle (j'ai tout laissé par défaut dans un premier temps) + les données concernant la base de données.
Et voila :-) c est fini.
lancez : localhost/alcms_dev.php/backend/login
login : admin
pwd : admin
Amusez vous :-)
le site se trouve : localhost/app.php/ (faite au minimum un deploy avant pour que cela fonctionne)
J'ai quand même quelques petits bugs à l'heure actuelle.
- Je n'arrive pas a faire fonctionner l'admin dans l'env Prod (localhost/alcm.php/backend/login) ce dernier ne me retrouve pas les routes des CSS et JS ? étrange alors que mes autres projets n'ont pas ce problème, me htaccess sont ok et le modRewrite est actif...
- lors de mes deploiement, ces derniers se passent bien mais je recois un message d'erreur quand même.
The process stopped because of a "0" signal.
Partager