Gantry 5 est un framework (bibliothèque de code) open source et multiplateforme réalisé par Rocket Theme, un développeur Joomla! expérimenté depuis l'époque Mambo. Il s'installe sur les CMS Joomla! et Wordpress, afin de faciliter le développement de templates (ou thèmes dans la terminologie Wordpress). Il a été récompensé par les participants aux conférences J and Beyond à Barcelone en 2016.

Les points forts des templates basés sur Gantry:

  • Une interface conviviale pour créer différents styles de mise en page qui peuvent être assignés à des pages de contenu différentes et même aux pages d'erreur.
  • La compilation à la volée du code SCSS pendant la phase de développement.
  • Le langage de template Twig, popularisé par Symfony et Drupal, présente l'avantage d'être plus concis et digeste que PHP dans les fichiers HTML du template.
  • Un écran de débogage utile lors de l'écriture de codes SCSS, Twig ou PHP.
  • La sauvegarde des paramètres sans base de données sous forme de fichiers YAML (moins verbeux que XML), ce qui permet d'ouvrir plus facilement le capot, afin de modifier les réglages par défaut. Par exemple, il est très facile de modifier la grille de mise en page du template, lorsque l'on sait modifier les paramètres dans le fichier YAML.
  • La documentation et les tutoriels facilitent grandement l'apprentissage du framework. Le plus rébarbatif est peut-être de devoir fouiller dans les multiples fichiers sources SCSS pour comprendre le fonctionnement des classes du framework frontend de Gantry 5 appelé Nucleus. L'examen des pages démos des templates à l'aide de l'outil développeur du navigateur s'avère souvent une méthode plus rapide.
  • Un système de cache intégré, ainsi qu'un plug-in d'amélioration des performances, RokBooster, disponible en téléchargement gratuit.
  • Enfin, l'attrait de pouvoir développer avec le même framework et la même interface sur deux des CMS les plus populaires du marché: Joomla! et Wordpress.
Grille de mise en page de Gantry
Grille de mise en page de Gantry

Un framework agréable à utiliser et bien intégré

Gantry 5 se révèle agréable à l'utilisation. Testé sur un site en production, il s'intègre bien au CMS et à un outil de sécurité courant comme Akeeba Admin Tools. Trois templates gratuits permettent de se faire une idée du produit et de créer un site simple avec un minimum d'efforts. Le programmeur qui a l'habitude de développer en PHP/XML sur Joomla! passera sans problèmes à Twig/YAML. Dans l'esprit de Joomla, Gantry permet de facilement surclasser les fichiers de l'installation de base dans un dossier nommé "custom" pour adapter le template à ses besoins sans gêner les futures mises à jour du framework et de ses templates.

Rocket Theme propose des templates commerciaux beaux et adaptés aux mobiles à moins de 50 dollars avec de nombreux modules (appelés particules) pour agrémenter la mise en page ou ajouter des fonctions supplémentaires comme, par exemple, un formulaire d'inscription à une mailing liste ou des blocs d'images. Le support technique et le forum de discussions sont réactifs en cas de problème. Gantry 5 et ses templates sont d'ailleurs régulièrement mis à jour.

Des désavantages ?

  • Actuellement, le gestionnaire de template n'existe qu'en anglais, mais il permet bien entendu de créer un site en n'importe quelle langue. Une fois le site créé, il est vrai, le gestionnaire de template est moins souvent utilisé.
  • L'ajout d'un framework supplémentaire au framework du CMS augmente l'occupation de la mémoire et le nombre de requêtes SQL sur le serveur. Mais cette charge reste raisonnable surtout si l'on utilise PHP 7 et si l'on développe avec la console de débogage sous les yeux. En effet, certaines extensions supplémentaires sont à éviter comme ModSprocket qui est, en l'état actuel, une usine à gaz. Il est facile de développer ses propres modules en puisant dans le code CSS du template.
  • Sur Joomla, le framework CSS Nucleus s'ajoute par défaut à l'obsolète Bootstrap 2, mais c'est un problème inhérent à ce CMS (ce qui devrait être corrigé dans les futures versions de Joomla qui permettront de choisir plus facilement le framework frontend à utiliser). Néanmoins, Gantry 5 permet déjà d'activer ou de désactiver à volonté Bootstrap 2 ou 3 et c'est vraiment un avantage supplémentaire de ce template.

En résumé, bien que je recommande en général de développer "léger", Gantry 5 a de nombreux atouts qui compensent l'inconvénient d'ajouter un framework supplémentaire au CMS.