Previous Next

Upcoming articles, module pour Joomla

Concevoir de nouvelles fonctionnalités jusqu'ici inexistantes est une des facettes les plus excitantes de mon métier de webmaster. Aujourd'hui, je vais vous raconter la création de ma dernière extension pour Joomla : Upcoming Articles.

La génèse de ce projet

Derrière chaque projet de ce type, il y a en général une problématique. Le plus souvent, c'est un.e client.e qui souhaite disposer d'une fonctionnalité particulière sur son site et fait appel à un.e pro pour la créer car elle n'existe pas encore. Ce fut le cas avec le plugin Responsive Tables, par exemple. Mais il arrive aussi parfois que ce soit la/le pro qui soit confronté.e à cette problématique !

Responsive Tables

Plugin Joomla Responsive Tables.

Parce que mon agenda clients est déjà rempli pour le dernier quadrimestre 2020, je profite de la période estivale pour rédiger le contenu que vous lirez (sans aucun doute) sur mon blog jusqu'à la fin de cette année. Cette période de calme relatif me permet de planifier sereinement la publication de mes articles en avance car je sais que je ne pourrais pas m'en préoccuper le moment venu.

Lorsque l'on a une ligne éditoriale en lien à sa stratégie de contenu, cette planification est plus qu'évidente, elle devient indispensable. Après avoir établi mon calendrier de publication, j'ai rédigé mes articles en veillant à ce que leurs dates de début de publication correspondent à celles de mon calendrier.

C'est en regardant tous mes futurs articles à paraitre que j'ai eu envie d'informer mon auditoire sur ce qui l'attendait. Je trouve sympa l'idée de pouvoir communiquer avec mes lecteurs sur mes prochaines publications pour les tenir au courant. J'aurais pu utiliser l'emailing mais j'avoue que je suis de moins en moins fan de cette méthode de communication que je trouve trop intrusive et trop polluante (au sens propre comme au sens figuré). Moi qui passe beaucoup de temps à lire des articles sur d'autres blogs, je ne crois pas avoir déjà vu ce type d'informations/communication nul part.

Pour afficher sur mon blog la liste de mes prochaines parutions, j'ai d'abord cherché à utiliser le module mod_articles_category sauf que celui-ci n'affiche pas les futurs articles en mode public. Puis, j'ai été fouiller sur le Joomla Extensions Directory où j'ai pu constater qu'il n'existait pas de solution à ce besoin. Pourtant, la question de l'affichage des futurs articles n'était pas nouvelle puisqu'un utilisateur avait déjà soulevé cette question sur le forum de Joomla en 2009 :

Discussion sur le forum Joomla.org

Depuis Joomla 1.5, personne n'a répondu à cette question et aucun développeur n'a profité de ce sujet pour créer une extension.

Je me suis rendu compte que je cherchais une fonctionnalité qui n'existait pas encore et la solution m'apparaissait de plus en plus évidente : il allait falloir créer une nouvelle extension !

La création du module Upcoming Articles

Créer un nouveau module pour Joomla est un processus qui s'est beaucoup simplifié ces dernières années car outre l'aide que peut apporter la Communauté, il existe aujourd'hui de très nombreuses ressources pour se lancer :

Alors certes, cela peut sembler intimidant pour beaucoup mais tant qu'on n'essaie pas, on est certain de ne pas réussir :) #ZoneDeConfort

Comme tous les autres modules Joomla, le module Upcoming Articles contient ces quatre fichiers de base :

  • mod_articles_upcoming.xml - Ce fichier est le manifeste et il contient les informations de base du module : le nom de l'auteur, le nom du module, le Copyright, etc. Il définit quels sont les fichiers (index.php, helper.php et mod_articles_upcoming.php) et dossiers (tmpl, language) à installer et il spécifie les paramètres de configuration du module (le nombre d'articles à afficher, leurs catégories, la date, etc).
  • mod_articles_upcoming.php - Ce fichier est le point d'entrée principale pour le module. Il va effectuer la routine d'initialisation nécessaire, appeler les routines helper pour collecter les données nécessaires et inclure le template à afficher pour le rendu du module.
  • helper.php - Ce fichier contient la classe helper qui est utilisée pour procéder à la récupération des informations (ModArticlesUpcomingHelper) à afficher dans le module (à partir de la base de données, dans le cas présent).
  • tmpl/default.php - Ce fichier est la vue (ou le template, si vous préférez) et il va utiliser les données recueillies par le fichier mod_articles_upcoming.php pour générer le code HTML qui sera affiché sur la page. Si vous souhaitez modifier le rendu, c'est ce fichier que vous devez travailler.
  • Prochains articles à paraitre

    • 28 Oct
      Women's portraits at Joomla: Sandra Decoux
    • 30 Oct
      Brave Browser - The Complete Guide
    • 30 Oct
      Brave Browser - Le Guide Complet

    Le module Upcoming articles en action

Eh non, ce n'est pas encore fini...

Maintenant que le codage du module est terminé, il ne reste plus qu'à :

  • tester le module afin de vérifier que tout se passe comme prévu, depuis l'installation de l'archive .zip jusqu'à l'affichage des articles et en passant par les traductions des chaines de langue, le format d'affichage de la date des articles, etc. La moindre erreur doit être éliminée.
  • contrôler la conformité du module grâce au composant JED Checker qui permet de vérifier que l'extension répond parfaitement aux standards de qualité exigés par Joomla. Sans cette validation, il est impossible de publier une extension sur le Joomla Extension Directory,
  • promouvoir l'extension afin qu'elle soit téléchargée le plus possible et pour recevoir des avis positifs de la part des utilisateurs,
  • répondre aux utilisateurs qui m'envoient des mails pour demander de l'aide, même si dans le cas présent, le module est ultra simple à utiliser,
  • envisager les améliorations probables à apporter à ce module en tenant compte des retours des utilisateurs et des évolutions (Joomla 4, par exemple).

Conclusion

Comme vous pouvez le constater, créer une extension aussi simple comme celle-ci requiert pourtant de nombreuses heures de travail. Et pour le modeste développeur que je suis, c'est une énorme satisfaction de voir qu'elle est utile et appréciée.

N'hésitez pas à l'installer sur votre site Joomla et si vous l'appréciez, à poster un commentaire positif sur le Joomla Extensions Directory. Comme le module est gratuit, ce sera ma seule rémunération et cela ne vous coutera que quelques minutes de votre temps. Merci par avance !

Je poste un avis positif sur Upcoming Articles

Daniel Dubois

Daniel Dubois

Passionné par le Web depuis 2007, Daniel défend la veuve et l'orphelin du web en créant des sites respectueux du W3C. Fort d'une expérience de plusieurs années, il partage ses connaissances dans un état d'esprit open source.
Très impliqué dans la communauté Joomla depuis 2014, il est actif au sein de plusieurs projets, conférencier et fondateur du JUG Breizh.