Vous avez dit Ibexa ?
Nous allons parler aujourd’hui d’un CMS très connu et je dirais même il a déchiré à son époque.
Je parle d’eZPublish, qui est devenu eZPlatform ensuite Ibexa DXP.
J’ai débuté ma carrière avec ce CMS en 2010, le marché français connaissait à cette époque que eZPublish. Un back ofice très fort avec plein de fonctionnalités, un système de workflow, …Il y a pas mal d’articles sur le sujet dans ce blog.
Je pense qu’à partir de 2014/2015, ezSystems la société fondatrice de la solution a décidé d’intégrer Symfony, l’idée était bonne mais l’implémentation a pris plus du temps ce qui nous a donné un CMS un peu compliqué par ce qu’il y avait au même temps eZpublish et Symfony. C’est un autre sujet ….
Durant cette période j’ai fait pas mal de projet WordPress, Drupal et Symfony 2.
Après un bon moment il y a eu la sortie d‘eZPlatform, un CMS plus robuste que eZPublish 5 ou eZ Publish Legacy.
Il y a un truc cool, c’est qu’il y avait la possibilité d’installer l’ancien back office eZPublish dans une instance eZPlatform afin de garder la force du BO vu que à ce moment le back office eZPlatform n’était pas au top.
……..
sur la version eZPlatform 2.5 il y a la version Symfony 3.4, sur Ibexa 3.x on trouve la version 5 du Symfony, donc Symfony 5, ce qui est top.
Il faut noter qu’il y a des versions communautaires et des versions payantes, par exemple pour Ibexa, nous avons Ibexa Content, Ibexa Experience et Ibexa Commerce.
Ce qui nous intéresse ici est Ibexa OSS, la version communautaire.
Pratiquons un peu !!!!
Nous allons installer Ibexa OSS 3.3.x
Je suis sous linux
- PHP 7.4
- composer V2
- Node v10.15.x et yarn 1.22.x
- Symfony-Cli
- Docker et Docker-compose
Sinon il faut toujours vérifier cet URL
Create Project
composer create-project ibexa/oss-skeleton:^3.3
Vous allez remarquer qu’il y un fichier docker-compose.yml de mon côté je l’ai changé pour l’instant
version: '3'
services:
database:
image: 'mysql:5.7'
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: main
ports:
- '3306'
mailer:
image: schickling/mailcatcher
ports: [1025, 1080]
Depuis la racine, il faut lancer la commande suivante :
docker-composer up -d
Pour le moment, deux services installés, personne ne vous empêche d’ajouter d’autres comme SOLR/ElastricSearch, Varnish, Redis ….
Create a database
Si vous avez Symfony-Cli installé, ça va être plus rapide
- symfony var:export –multiline
Ensuite remplacer le fichier .env ou créer carrément le fichier .env.local et mettre
DATABASE_URL=mysql://root:password@127.0.0.1:49167/main?sslmode=disable&charset=utf8mb4
- php bin/console ibexa:install
- php bin/console ibexa:graphql:generate-schema
Run post-installation script
- composer run post-install-cmd
Use PHPs built-in server
- symfony server:start -d
Alors pour moi
- FO : https://127.0.0.1:8001/
- BO : https://127.0.0.1:8001/admin (admin/publish)
Et voilà voilà vous avez un BO et FO sous Ibexa DXP. à notez que coder avec Ibexa 3 veut dire coder Symfony 5. (Ibexa 4 => Symfony 6)
Voici un tuto complet sur la documentation Ibexa
Aussi le lien d’installation d’Ibexa en local ou sous Cloud
Dans le cadre de notre travail nous utilisons lunchpad, une solution développé par notre CTO (Sébastien Morel). C’est docker avec plein de service par défaut
Avec Ibexa, on peut faire des applications web pas que des sites éditoriaux, ce qui est marrant ici est d’avoir un back office pour mieux gérer le contenu mais pas pour gérer nos entités.