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 du projet Upcoming articles

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 !

Extension Joomla par web-eau.net

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 :

Upcoming articles - 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.

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

10 Best Joomla Magazine Template in 2020

10 Best Joomla Magazine Template in 2020

The reputation of the CMS Joomla is the ability to handle any kind of project like a magazine. Not just because this CMS has lots of extensions but also because Joomla templates help websites to find the right look for the industry they function in.

Jouons avec les articles archivés de Joomla

Jouons avec les articles archivés de Joomla

Comme il peut être utile à vos visiteurs et aux moteurs de recherche d'avoir accès à vos anciens articles, Joomla vous donne la possilité de les archiver et de les afficher avec un lien de menu dédié. La vue par défaut est assez simple et nous allons la changer.

Un.e professionnel.le éthique, c'est quoi ?

Un.e professionnel.le éthique, c'est quoi ?

Un.e professionnel.le éthique, qu'est ce que c'est ? A l'heure où la recherche du profit rapide et facile est devenu la norme, il me semble important de se poser cette question et de tenter d'y apporter quelques élements de réponses.

Comment créer un glossaire juste avec Joomla 4 ?

Comment créer un glossaire juste avec Joomla 4 ?

Joomla est un CMS très puissant lorsqu'il s'agit de gérer du contenu. Et lorsque l'on combine le contenu et les overrides, il n'y a plus de limites sauf celles de votre imagination. Ce tutoriel Joomla pour créer un glossaire va vous le prouver.

10 Free Header HTML & CSS Snippets

10 Free Header HTML & CSS Snippets

Header is one of the most important part of any website because it is often the one that your visitors see first when they land on your website. To not miss the conception and design of this essential front door, here are 10 excellent examples of header.

5 stereotypes about Joomla

Whether it is to create your own website, for your association or for a business project, you are looking for a simple solution but you do not know which to choose. How about testing this famous Joomla that everyone is talking about?

How to Create a Responsive Pricing Table?

How to Create a Responsive Pricing Table?

The pricing table is a staple for any online business. It’s used for services companies (like mine), SaaS products and also for e-commerce shops all around the web. For a successful conception and webdesign of your pricing table, you must read this tutorial.

10 Meilleurs Templates Business pour Joomla en 2020

10 Meilleurs Templates Business pour Joomla en 2020

Joomla a la réputation de pouvoir s'adapter à n'importe quel type de projet Web. Outre le fait qu'il existe de nombreuses extensions dédiées à ce CMS, un template parfaitement adapté vous permettra de réaliser votre projet bien plus facilement.

How to create a free Knowledge Base just with Joomla 4? #JOC

How to create a free Knowledge Base just with Joomla 4? #JOC

Joomla is extremely powerful when it comes to content. And when you combine the content and the overrides, there is no limitation except your imagination. In this tutorial, we are going to create a knowledge base, just with Joomla 4.

10 exemples de Header pour vous inspirer

10 exemples de Header pour vous inspirer

Le header est l'une des parties les plus importantes d'un site Web car c'est souvent celle que vos visiteurs voient en premier. Pour ne pas rater la conception et le design de cette importante porte d'entrée, voici 10 excellents exemples en matière de header.

Comment créer un tableau de prix responsif ?

Comment créer un tableau de prix responsif ?

Le tableau de prix est un incontournable pour tout business en ligne. Il est utilisé par les société des services (comme la mienne) et par les produits de type SaaS. Pour une conception et un design réussi, vous devez suivre ce tutoriel.

10 Best Joomla Business Template in 2020

10 Best Joomla Business Template in 2020

The reputation of Joomla is the ability to handle any kind of project like a business. Not just because this CMS has lots of extensions but also because Joomla templates help websites to find the right look for the industry they function in.

Articles à paraître

  • 22 Nov
    [Mega Thread] Black Friday 2021 Discounts

Derniers commentaires

  • No, not as complete as this one but you have the... >>
    Daniel Il y a 4 jours
  • Sorry, I though it was english (autotranslate... >>
    Andras Il y a 4 jours
  • Hi,
    I'm not sure to understand your question... >>
    Daniel Il y a 4 jours