Choisir le CMS parfait !

09 Déc

Choisir son CMS

Pour mes besoins et celui de mes clients j'ai commencé à faire des recherches sur le CMS que je pourrais utiliser exclusivement et ainsi pouvoir m'y spécialiser et monter en compétence.
Malgrè le titre accrocheur de cet article je ne vous cache pas que le CMS parfait ! n'existe hélas pas !
Mais je vais essayer d'expliquer au mieux ma démarche ainsi que mes critères pour le choix de mon CMS de prédilection.

De nature indéscise ou insatisfaite je suis en constante veille technologique pour trouver la perle rare de l'open source, que ce soit pour l'utilisation de Frameworks ou bien de CMS. J'en ai testé beaucoup et utilisé quelques-un de façon professionnelle sans jamais vraiment me spécialiser.

CMS Génériques

Le CMS générique comme je l'appelle est un CMS permettant de gérer du contenu (blog, page, galerie d'images, gestionnaire de fichiers, etc.), ce que je recherche avant tout c'est un CMS moderne, écrit en POO, évolutif, rapide à mettre en place et bien documenté et si possible avec une bonne communauté et si possible des plugins.

Je me suis vite rendu compte que pour un CMS c'est assez difficile d'avoir tout ce que je demande d'où le "CMS parfait n'existe pas".
Voici la liste des CMS que j'ai choisis pour faire mon choix:

  • Drupal (la référence)
  • CMS perso (Python / Django) 
  • Mezzanine (CMS en python / Django)
  • Contao (CMS d'originaire Allemagne très puissant)
  • Django-cms (Python / Django) 

Wordpress & Drupal

Alors j'ai de suite éliminé Wordpress car je voulais un CMS moderne écrit en POO, pareil pour Drupal même si j'ai réalisé quelques projets avec et qu'il a une couverture fonctionnelle hors du commun, une Fournet de plugins et une communauté énorme tout comme Wordpress, je préfère les mettre de côté en attendant peut-être la version de Drupal 8 basée sur des composants de Symfony 2.

CMS perso

Le CMS que j'ai développé en Python/Django d'ailleurs c'est celui de mon site actuel, c'est très bien avec Django beaucoup d'applications son pluggables facilement et rapidement mais pour avoir vraiment les fonctionnalités poussées d'un CMS PHP il faut vraiment beaucoup développer et surtout maintenir le code, car ne bénéficiant pas d'une communauté pour développer des plugins et thèmes, logique ! puisque c'est un cms perso :) donc pour le coup je le reserve pour des choses vraiment personnalisées.

Une chose aussi importante aussi, plusieurs de mes clients ont déjà leur propre hébergement souvent mutualisé (OVH par exemple)  et le gros problème c'est que souvent incompatible.

Mezzanine

Un très bon CMS en Python/Django avec une interface administration très simple pour l'administrateur, un code facile à comprendre pour développer ses propres modules, la communauté est assez petite mais apparemment active.
Il existe même un module pour créer sa boutique se nommant Cartridge, il a aussi une fonctionnalité intéressante qui permet l'édition d'un article en front-end sans passer par l'admin. 
J'aurais vraiment aimé utiliser ce CMS, mais un gros problème est que le multilangue au niveau des modèles n'est pas géré en natif. Il y a la possibilité de créer un multisite pour chacune des langues, mais dans ce cas il faudrait donc recréer toutes les pages ce n'est donc pas le CMS que j'ai retenu de plus il y a le même problème pour l'hébergement vu le language.

Django CMS

Je l'ai testé il y a assez longtemp ce CMS par rapport à mezzanine gère le multilangue mais son code m'avait l'air beaucoup plus complexe, de plus à l'installation pas de template de base pour voir le rendu, bref ajouter à ça les mêmes problèmes d'incompatibilité avec les hébergements mutualisés des client, je n'ai donc pas non plus fais le choix de celui-ci.

Contao

Voici un très bon CMS !
C'est le CMS que j'avais choisi quand je devais faire mon site actuel, le développement était pratiquement terminé, quand j'ai changé d'avis et tout recommencé avec Python/Django (comme je disais je suis de nature indéscise) pour faire mon CMS.
Mais voilà j'ai continué à l'utiliser pour des clients et j'ai commencé le développement de mon site d'agence (plus généraliste) avec celui-ci.

C'est un CMS Allemand en PHP tout en POO (ce que je recherche), bien écrit pas si facile à comprendre au début surtout sa logique assez particulière mais finalement très efficace. Avec ce CMS out of box nous avons tout ce dont nous avons besoin:

  • multilangue
  • multisite
  • gestion de brouillon
  • newsletter
  • blog
  • actualité
  • galerie
  • beaucoup de plugins (souvent de qualité)
  • etc.

Il y a même un plugin de e-commerce se nommant Isotope. Le theming est agréable et surtout rapide, même s'il y a quelques petites choses qui ne sont pas optimales au choix d'un CMS, comme par exemple la documentation ou la communauté francophone qui existe mais qui n'est pas très grande ce CMS est de très bonne qualité.

CMS E-commerce

Plusieurs familles de CMS existent même si certains plus généralistes que d'autres possèdent des modules ou plugins additionnels permettant d'ajouter assez facilement une boutique en quelques cliques (voir ci-dessus), je ne suis pas un grand fan pour développer une boutique en ligne avec car de manière générale les fonctionnalités sont moins poussées et l'utilisation manque d'ergonomie car le module doit obligatoirement se plier au CMS qui n'était initialement pas prévu à cet effet. 

Voici la liste des CMS E-commerce que j'ai testés :

  • Peel (le premier script e-commerce testé, ça remonte à très loin) 
  • Oscommerce (trop vieux)
  • OsCss (Fork Oscommerce)
  • Prestashop (la référence fraçaise)
  • Opencart (mon préféré)
  • Magento (la référence internationale, un mastodonte basé sur le Zend framework)
  • Thélia (un script Français qui est désormais à sa version 2 qui inclut des composants du framework Symfony) 

Toutes ces applications ont un point commun elles sont toutes écrites dans le language PHP, je n'ai jamais vraiment testé d'applications e-commerce spécialisées dans un autre language que PHP à part peut-être Oscar en Python / Django que je n'ai jamais pu installer à cause d'une erreur lors de son installation.

Pour résumer je ne vais pas faire un comparatif mais juste vous donner mon choix et vous expliquer pourquoi j'ai choisi telle solution à une autre.
Dans un premier temps j'ai choisi Prestashop car cela fait déja quelques années que je l'utilise et donc le connais assez bien de la création de templates au développement de modules. Mais voilà depuis sa version 1.4 une certaine lourdeur s'est peu à peu installée et les performances ne sont plus ce qu'elles étaient, ce qui est normal vu le nombre de fonctionnalités qui ont été rajoutées.

Mais voilà un jour j'en ai eu un peu marre de cette lourdeur et j'ai testé Opencart et là ! surprise le script était plus que rapide, le multi-boutique existait et surtout j'ai trouvé que c'était très bien écrit (MVC) un code facile à comprendre et robuste, la création de modules spécifiques plus rapide, etc.
Mais aux vue des demandes clients pour intervenir ou développer sur Prestashop je l'utilise encore, mais je pense plus pour longtemps car depuis la version 1.5 qui malgrè le multiboutique cette solution est remplis de bugs,  j'ai eu pas mal de problèmes et les performances en locale pour développer ne me donnent pas le confort que j'ai eu avec Opencart, donc mon choix du moment est bien la solution Opencart, je testerais aussi bien Thélia 2 qui paraît prometteur.

D'autres points à prendre en compte sont aussi :

  • la communauté
  • les modules
  • les thèmes

Pour Prestashop la communauté est assez grande surtout en France (solution avant tout Française), pour Opencart c'est avant tout la communauté internationale qui est grande, il existe une communauté Française d'Opencart mais à cause d'un différent, il existe désormais 2 portails pour la France ce qui divise encore plus la petite communauté Française.

Pour les modules et thèmes les 2 solutions ont un énorme choix, la différence et que les modules et thèmes pour Opencart sont pour la majorité beaucoup moins chers.

N'hésitez pas à partager dans les commentaires votre experience et le choix de vos CMS favoris.

Publié le: Lundi 09 décembre 2013
blog comments powered by Disqus
Monter

© Circonflex-studio - Tous droits réservés - Mentions legales
Développeur web indépendant / Webdesigner / Intégrateur
Nice - Cannes - Monaco - Antibes - côte d'azur | site valide HTML 5

Ce site à été développé en Python avec le framework Django

"http://www.cssawards.net/nominee/circonflex-studio/"