Les avantages de Joomla! face à Drupal

31340 vues
10 juillet 2015
Cyril
drupal-joomla

 

Attention au TROLL! On parle souvent des avantages de Drupal (5% des CMS ) face aux autres CMS et notamment de son positionnement haut de gamme, ce qui laisserait à penser que les autres doivent être reléguées au rang de solutions tout au mieux semi-professionnelles.

 

Il est donc admis qu'une solution comme Joomla! (9% des CMS) ne peut pas présenter de sérieux atouts et se positionner sur le marché des sites et applications web à haute valeur ajoutée.
Rien n'est plus faux comme Pulsar a eu l'occasion de le montrer lors d'une conférence au JoomlaDay 2014 et suite au dernier Drupagora 2015. Si Joomla! seul peut difficilement rivaliser avec une solution aussi flexible et intégrée que Drupal (et pour les gros sites seulement), le couple Joomla! + Seblod présente des atouts véritablement de premier plan:

Positionnement et enveloppes budgétaires

Une tendance que vient confirmer la version 8 est que Drupal se positionne de plus en plus comme le CMS pour des gros sites à fort trafic. Le ticket d'entré moyen d'un projet Drupal est aux alentours de 50K € en lorgnant rapidement vers les 100K €. Sa relative lourdeur (qui a un impact sur sa relative lenteur) nécessite des infrastructures plus musclées qui ne peuvent être justifiées que pour des projets à budgets plus conséquents. A l'inverse les projets Joomla/Seblod (en tous cas pour l'agence Pulsar) se situent dans la fourchette 15-50 K€ environ pour une couverture fonctionnelle quasi équivalente.

Facilité de mise à jour et maintenabilité

Un projet type Drupal contient des dizaines de modules imbriqués qu'il devient souvent très difficile à mettre à jour tant les dépendances sont fortes. Les hook qui sont souvent des hacks ne permettent pas non plus des montées de version transparentes. 

Par ailleurs la mise à jour d'un Drupal 5 vers 6 ou d'un 6 vers 7 (et d'un 7 vers 8) représente une véritable migration bien plus qu'une mise à jour. La (trop?) forte dépendance de Drupal aux modules contrib qui ne sont pas disponibles au moment de la nouvelle release de Drupal fait que la mise à jour constitue en elle-même un véritable projet facturé, en dehors de la maintenance. Les coûts de maintenance peuvent alors devenir potentiellement insupportables. L'architecture profondément modifiée à chaque nouvelle version du CMS ajoute une couche de complexité. 

A l'inverse Joomla! après la très difficile migration des versions 1.5 vers la 1.6 a opté pour des migration simples voir très simples ce qui protège les investissements des clients. D'autre part la modélisation apportée par Seblod (unification formulaire et types de contenu d'un coté, listes et recherches de l'autre) permet de faire la quasi totalité des travaux sans extensions tierces. Ces raisons font que la mise à jour d'un projet Joomla/Seblod est nettement plus simple et donc moins coûteuse qu'un projet Drupal. 

Enfin la modification d'un type de contenu, formulaire ou d'une liste avec le couple Joomla! Seblod se fait essentiellement au travers d'une interface graphique drag & drop très simple. On retrouve les mêmes fonctions ou à peu près dans Drupal mais avec le sentiment que l'interface graphique n'est pas aussi aboutie et l'essentiel du travail se fait au niveau du code informatique.

Richesse des templates Joomla!

Ce n'est pas nouveau mais les frameworks de template Joomla! ont toujours été très riches et plus variés que les thèmes Drupal. Par ailleurs Joomla 3.x intégre le responsive design nativement, ce que Drupal ne fera pas avant l'année prochaine avec la version 8.

Richesse des extensions ?‘applications’ complètes

Une autre force de Joomla! réside dans la disponibilité de quelques extensions applicatives très complètes comme la gestion de forum, blogs ou de newsletter qu'on ne retrouve pas dans le monde Drupal (même si il existe des modules Drupal très performants). L'avantage de ces extensions Joomla! est d'être des applications installables en quelques clics plus 'finies' ( http://www.kunena.org/http://stackideas.com/easyblog ou https://www.acyba.com/acymailing.html) que celles chez Drupal (https://www.drupal.org/documentation/modules/forumhttps://www.drupal.org/project/newsletter ou https://www.drupal.org/project/simplenews). 

Performances

Drupal est réputé convenir pour des gros sites à fort trafic mais ce n'est qu'au prix de gros efforts de développement et d'une mise en place de cache sur le serveur. Drupal 'out of the box' est au contraire beaucoup plus lent qu'une solution Wordpress ou Joomla! De plus l'assemblage naturel de modules pour obtenir les fonctions souhaitées ne fait que ralentir une solution peu adaptée pour des sites standards. Cette situation empire avec la version 8 basée en partie sur le framework Symfony qui alourdit la structure comme tous les tests actuels le montrent sur le net. Vous n'êtes pas obligé de me croire, installez un wordpress, un Joomla et un Drupal (7 ou 8) et mesurer le temps d'affichage d'une page!

Vous pouvez aussi avoir plus de détails techniques avec cet autre comparatif réalisé par un développeur PHP.

Réutilisation par les dossiers d’application

Une force industrielle majeure de Joomla! avec Seblod réside dans sa capacité de constituer des dossiers d'applications réutilisables de projet en projet. Seblod n'est pas seulement un cck mais c'est avant tout un application builder permettant un gain de productivité important qu'on ne retrouve pas dans le monde Drupal.

Séparation template général et template de contenu

Seblod permet de répartir graphiquement très simplement les champs et modules à l'intérieur même du bloc de contenu, sans toucher au template général du site. Cela permet de constituer des interfaces back et front tres rapidement.

Framework Joomla!

A l'heure où Drupal a choisi enfin de passer d'un modèle procédural à un modèle MVC on ne peut que constater que Joomla! repose sur un framework objet MVC depuis la première version. Certains d'ailleurs ne développent qu'avec le framework Joomla!

Multi sites très simple

La gestion multi sites est native dans Seblod et permet la mise en place de plateformes multi sites où chaque site peut partager des contenus et des fonctions. Basée sur les ACLs natifs de Joomla! la gestion multi sites de Seblod est d'une grande simplicité.

Approche Seblod vs celle de Drupal

Quand on travaille avec Drupal on est vite surpris de l'approche traditionnelle qui consiste à trouver les bons modules qui empilés vont réaliser les fonctions demandées par le cahier des charges. En effet cette approche aboutit rapidement à un mille feuilles où les performances et l'intégrité complète de la solution sont souvent sujet à caution.

Le nombre d'écrans de configuration devient aussi envahissant. Un développeur peut ne pas aimer du tout cette approche et lui préférera la programmation sous Drupal mais qui se heure à un manque de framework MVC / OOP . A contrario Seblod opère certes à un plus bas niveau mais la modélisation et l'unification des processus web dans Seblod permet un contrôle plus fin. Tout est ici modélisé avec des formulaires, des listes et des vues détail, c'est tout.

Séparation comportement du stockage d’un champ

Dans Seblod chaque champ est défini par son type (texte, boîte à boutons, liste déroulante, etc) mais aussi son stockage en base de données. C'est un atout majeur qui distingue le fond (le stockage en base) de la forme (l'interface du champ) et qui permet un contrôle plus fin de ce qu'on manipule.

Conclusion

Il ne peut y avoir de véritable conclusion à ce rapide tour d'horizon. Le but n'est pas de prouver que Joomla! est meilleur que Drupal. Cela n'a aucun sens. Il s'agit plutôt de mettre en avant certains avantages pas toujours connus de Joomla! qui peut, dans de nombreux cas, et en particulier avec le CCK Seblod, répondre mieux à la réalisation de votre projet dans une tranche de projet moyen (20-50K). 

 

Retrouvez-moi sur Google+