Qu'est-ce que Joomla?

Telle est sa popularité et son utilité au cours de la dernière décennie grâce à Joomla! est actuellement considéré comme l'un des systèmes de gestion de contenu open source les mieux classés dans le monde. Depuis sa création du Mambo CMS, au cours des dix dernières années et plus, il s’est tellement amélioré qu’il n’est pas étonnant qu’il y ait déjà beaucoup de récompenses dans sa cagnotte et qu’elle compte toujours.

Plus précisément, si vous êtes dans le domaine du développement Web, quelle que soit la technologie utilisée, il est impossible de sortir du mot Joomla! Si c'est le cas, je suis sûr que vous appartenez à une autre planète! Cela peut sembler un peu accablant, mais je peux vous assurer que cela vaut la peine de regarder si vous ne l'avez pas encore fait pour votre prochaine solution de gestion de contenu. En fait, il ne s’agit pas que d’un CMS: nous discuterons plus tard dans cet article de ce que Joomla! est capable de.

Dans cet article, nous allons discuter en détail de ce que Joomla! est et comment cela pourrait être utile pour vos projets basés sur le Web. En commençant par un aperçu du CMS de base, nous allons passer en revue les fonctionnalités de Joomla! tout au long de l'article, et dans la dernière section, je vous laisserai quelques ressources utiles avec des références.

Qu'est-ce qu'un CMS??

Un système de gestion de contenu, appelé CMS, est un système qui vous permet de gérer les informations facilement et efficacement. L'information peut être n'importe quoi, qu'il s'agisse d'un simple article ou d'un système de gestion de média complexe. L'objectif d'un système de gestion de contenu est de fournir un flux de travail efficace décrivant l'état clair d'une entité à un moment donné. En termes simples, il permet aux informations de passer à travers différents états, tels que brouillon, révision, édition et publication..

Plus précisément, ce sont les utilisateurs non techniques qui aiment disposer d’un tel système qui leur permet d’organiser facilement le contenu et de rendre le processus plus joyeux plutôt que mouvementé. Dans toute application Web, il existe trois opérations de base, que la plupart du temps, les administrateurs ont à faire, exécutées sur n'importe quelle entité donnée: ajouter, éditer et supprimer. Et c'est pour cela qu'un CMS est conçu. Que cela vous permette de le faire en fournissant un éditeur WYSIWYG, une édition en ligne ou d’autres choses fantaisistes, l’idée est de rendre tout le processus plus simple..

Ce n’est pas seulement l’organisation et la gestion du contenu, mais aussi sa capacité à fournir un contrôle d’accès granulaire à différents groupes d’utilisateurs, qui est considéré comme l’une des fonctionnalités haut de gamme de tout système de gestion de contenu. Il est évident que vous souhaitez répartir les responsabilités entre différents rôles tels qu'auteur, éditeur et éditeur. Vous souhaitez également garder un œil sur la gestion des versions de contenu, car elle vous permet de restaurer des articles si les choses ne se passent pas comme prévu..

Dans sa forme la plus élémentaire, le flux de travail typique de tout système de gestion de contenu pourrait être le suivant:

  • L'auteur commence une conversation en créant un article et le statut par défaut d'un article est Brouillon en ce moment. Habituellement, il faut plusieurs itérations pour qu'un article soit remplacé par Brouillon à la revue statut.
  • Le réviseur est autorisé à accéder à tous les articles dont le statut est défini sur la revue. Encore une fois, le relecteur doit s’efforcer consciemment de les parcourir et de les transmettre aux rédacteurs s’ils respectent certaines directives doit pour un article à passer de la revue à montage statut. Bien sûr, le critique pourrait les renvoyer à Brouillon statut en laissant les commentaires appropriés si une amélioration est attendue de l'auteur.
  • En parcourant tous les articles de montage statut et les embellir avec des touches finales est quelque chose attendue de l'éditeur dans leur routine quotidienne. En outre, ils sont responsables de pousser le contenu de montage au publier queue.
  • Enfin, l’éditeur a pour tâche de s’assurer que le contenu situé dans le publier la file d'attente reçoit le traitement approprié en programmant leur publication dans l'interface frontale.

De manière générale, ce que nous avons énuméré ci-dessus est l’un des plus simples à ce jour.cas d'utilisation efficaces auxquels on pourrait adhérer. Sans parler du fait que dans le monde réel, vous assisterez à des workflows plus complexes accompagnés de fonctionnalités riches telles que le balisage, le partage social et les commentaires, pour ne citer que quelques exemples..

Voilà donc une introduction rapide et, espérons-le, utile de ce à quoi un système de gestion de contenu pourrait ressembler. À partir de la prochaine section, nous allons nous concentrer sur le sujet principal de cet article, Joomla !, qui est une chose que j'ai promis d'explorer tout au long de cet article..

Joomla! -Un CMS primé

Depuis sa création en 2005, Joomla! a évolué au fil des ans et le résultat final est l’un des CMS les plus puissants et les plus riches en fonctionnalités, téléchargé par des millions d’utilisateurs. Comme on dit, c'est vraiment un CMS basé sur la communauté, géré par et pour la communauté! Pour tout projet open-source, comme avec Joomla !, le soutien des membres de la communauté est un facteur important dans la persistance et la durabilité du projet..

Joomla! est construit en utilisant certaines des technologies Web les plus utilisées telles que PHP, MySQL et Apache. Cela dit, il ne se limite pas aux technologies susmentionnées, il prend également en charge d’autres bases de données et serveurs Web populaires. Si vous préférez, vous pouvez choisir entre SQL Server ou PostgreSQL au lieu du moteur de base de données MySQL. D'autre part, Microsoft IIS et NGINX sont candidats au choix du serveur Web avec Apache..

Pour les développeurs, Joomla! est construit en utilisant le modèle de conception MVC, un modèle populaire déjà utilisé par de nombreux autres frameworks. Bien que la discussion sur le modèle de conception MVC ne relève pas de la portée de ce didacticiel, elle fournit une séparation des préoccupations, permettant ainsi au développeur de se concentrer davantage sur le développement plutôt que de se préoccuper de son apparence initiale..

Il n'est pas surprenant que la dernière version majeure de Joomla! est réactif, prêt à l'emploi et mobile en premier, car il est impossible de l'ignorer de nos jours et cela pourrait coûter cher à tout framework qui le ferait. Au moment d’écrire ceci, Joomla! 3.4.x supporte la version PHP 5.5+ mais pas PHP 7. Cependant, la version tant attendue de Joomla! La version 3.5 est proche, et elle prétend supporter PHP 7, ce qui sera un énorme gain de performance en natif, si l'on en croit les experts..

Donc, s’il s’agissait d’un aperçu de haut niveau de ce que Joomla! La liste suivante présente certaines des caractéristiques concrètes que vous attendiez, qui sont livrées avec le logiciel Joomla! noyau lui-même.

  • fonctionnalités de gestion de contenu prêtes à l'emploi
  • organisation du contenu utilisant un niveau de catégories imbriqué
  • versioning et marquage de contenu
  • gestion des médias
  • gestion des utilisateurs
  • puissant système ACL (Access Control Lists)
  • fonction de recherche intelligente pour la recherche en texte libre sur l'ensemble du site
  • Flux RSS
  • fonctionnalités multilingues
  • interface réactive et mobile

Bien sûr, il est impossible de discuter de chaque fonctionnalité en détail dans un seul article. Par conséquent, pour les utilisateurs curieux, je laisserai des ressources utiles à la fin de cet article..

Joomla! -Au-delà du monde CMS

Vous êtes du mauvais côté de la table si vous croyez que Joomla! n'est utile que pour la gestion de contenu, car vous serez surpris d'apprendre que plus de 7 000 extensions sont disponibles sur le site officiel JED (Répertoire d'extensions Joomla), offrant des fonctionnalités allant d'une simple solution de galerie d'images à une réservation complète. et système de gestion de réservation. En fait, il est fort possible que l'extension que vous souhaitez développer vous-même soit déjà disponible sur le JED.!

L'architecture extensible de Joomla! facilite le développement d'extensions personnalisées. Vous cherchez un système qui sert de blog? Peut-être que votre nouvelle entreprise nécessite la construction d'un nouveau type de système YouTube ou que vous essayez de créer le prochain Facebook! Le JED fournit des extensions pour chacune des exigences susmentionnées.

Jetons un coup d'œil au luxe que vous pourriez avoir si vous choisissez Joomla! comme votre solution:

  • un système de gestion des médias à part entière
  • solutions de commerce électronique
  • des portails avec des fonctionnalités communautaires comme le partage social, les commentaires, le balisage, etc.
  • réservation en ligne et systèmes de réservation
  • solutions classées
  • calendrier des événements et type de système RSVP
  • annuaires d'entreprises
  • Sites éducatifs et gouvernementaux
  • systèmes de portefeuille

C’est juste pour en nommer quelques-unes, car il est très difficile d’énumérer toutes les possibilités. Comme on dit, la limite est de votre imagination si vrai pour Joomla!

Joomla! en tant que cadre Web

Au quotidien, Joomla! développement, il y a des moments où vous sentez que vous auriez voulu tirer une certaine partie du cadre, l’API de routage par exemple, plutôt que tout un ensemble de fonctionnalités CMS qui sont obsolètes pour ce projet particulier. Pour une application simple basée sur PHP, il serait bien d’avoir les fonctionnalités sélectionnées dans le cadre qui conviennent le mieux à votre application, plutôt que tout un CMS..

Par exemple, supposons que vous souhaitiez créer un service exposant Joomla! données vers une application mobile tierce. Pour ce faire, il est tout à fait possible de créer une extension personnalisée qui remplit les fonctionnalités souhaitées, mais avec le bagage supplémentaire de ces fonctionnalités non souhaitées du CMS dans votre cas. Au lieu de cela, ce que vous auriez aimé faire est de sélectionner les API de votre besoin en évitant le reste des fonctionnalités. Le produit final est une application Web ultra-légère..

C'est le but de Joomla! Framework, auparavant connu sous le nom de Joomla! Plate-forme. Il vous permet de créer une application à l'aide d'un ensemble familier d'API, si vous venez de Joomla! Fond de CMS. Il fournit un ensemble commun d’API, comme avec les autres frameworks PHP, vous permettant de vous concentrer davantage sur les fonctionnalités spécifiques à l’application plutôt que de réinventer la roue pour des fonctionnalités telles que la gestion des entrées, la couche d’abstraction de base de données, le routage, etc..

Il ne faut en aucun cas être confondu avec le Joomla! CMS, car il existe une ligne de développement distincte pour les deux logiciels. L'idée principale est de découpler les packages logiciels en modules séparés, plutôt que de les lier en un seul package, leur permettant d'évoluer par eux-mêmes. En fait, vous pourriez penser à Joomla! Le CMS comme combinaison du logiciel Joomla! Framework et modules CMS.

Un exemple prometteur de la Joomla! Le cadre est le Suivi des problèmes application de la Joomla! CMS lui-même. De la même manière, vous pouvez créer n'importe quelle application Web avec celle que vous auriez construite avec n'importe quel autre framework basé sur PHP. Explorez-le et je suis sûr qu'il y a quelque chose qu'il peut offrir à tout le monde.

Joomla! -Un coup d'œil rapide sur les éléments principaux

Dans cette section, nous aborderons les éléments importants du programme Joomla! architecture qui sert de blocs de construction de base dans toute application.

Composants

C’est l’un des éléments les plus importants et les plus indispensables de la pile qui fournit toutes les fonctionnalités de toute section spécifique. Cela vous permet de créer une base qui traite de la logique métier d'une application. En outre, c'est l'un des éléments qui étend Joomla !, si vous souhaitez introduire de nouvelles fonctionnalités..

Par exemple, si vous souhaitez créer une application de répertoire professionnel, vous devez pouvoir ajouter, modifier et supprimer les entrées du back-end. D'autre part, dans le front-end, il devrait afficher une liste agréable avec des fonctions de recherche avancée, pager et de tri. C'est donc le composant que vous souhaitez construire pour envelopper les fonctionnalités susmentionnées.

En règle générale, chaque fois que vous souhaitez créer une nouvelle fonctionnalité dans Joomla !, c'est le composant qui vient à la rescousse.

Modules

Avant de commencer et d’expliquer ce qu’est un module dans Joomla !, je voudrais vous donner quelques exemples pour vous faciliter la tâche. Si vous avez déjà visité Joomla! front-end, vous verrez beaucoup de blocs comme Login, Derniers articles, Derniers flux, etc. À votre grande surprise, ils sont Joomla! modules assignés à différentes positions dans le modèle! Un Joomla! module est un bloc mobile qui construit la sortie en extrayant les données du composant, la plupart du temps, et en affichant la sortie.

Plugins

Le plus souvent, vous devrez modifier le comportement de la structure principale pour répondre à vos besoins personnalisés, et c’est là que les plugins entrent en scène. Un Joomla! Le plug-in vous permet de capturer certains événements définis par le système, ce qui vous permet de personnaliser certains des flux de travail importants..

Par exemple, supposons que vous souhaitiez notifier une application tierce en cas d’enregistrement d’un nouvel utilisateur sur votre site Web. Bien sûr, il existe une disposition pour modifier les données qui transitent entre les appels d'événement.

Modèles

Comme son nom l'indique, il traite de la couche de présentation de votre site Web et aide à structurer la présentation de votre site Web. Parfois, il est également appelé un Joomla! thème car il vous permet de changer l’apparence de votre site Web. Pour changer le look par défaut de Joomla! de base, vous devez créer un thème personnalisé selon Joomla! structure de thème, et c’est quelque chose que vous rencontrerez fréquemment si vous êtes un Joomla! développeur.

Sans oublier que la dernière version de Joomla! vient avec un thème sensible dans le front-end et le back-end. En outre, les concepteurs de thèmes en attendent également lors du développement de thèmes personnalisés..

Qu'est-ce que le Joomla! Répertoire d'extensions (JED)?

Le JED est quelque chose avec lequel vous devriez vous familiariser, car vous y passerez probablement pas mal de temps à chercher une extension. C'est un Joomla officiel! site offrant de nombreuses extensions à choisir sous forme de composants, modules et plugins.

Les extensions chez JED sont publiées sous deux types de licence et de licence commerciale. Comme vous l'avez peut-être deviné, les extensions commerciales sont des produits payants, disponibles sur un modèle d'abonnement ou moyennant des frais uniques. En tant que développeur, vous souhaitez en tirer parti en développant des extensions de qualité et en les libérant sous licence commerciale..

En fait, la plupart du temps, il fonctionne de cette manière: la version gratuite d’une extension est disponible avec des fonctionnalités de base, et la version payante de la même extension est renforcée par des fonctionnalités puissantes, sous la forme de modules complémentaires dans certains cas. Sans compter que le luxe du support technique fourni par le fournisseur de service d’extension est accompagné de la version commerciale. C'est donc un modèle commercial réussi et éprouvé pour de nombreux fournisseurs d'extension commerciale..

Cela dit, je ne retirerai aucun crédit à ces extensions gratuites de qualité qui servent à la fois l'objectif ainsi que toute extension payante. En fait, il s’agit d’un ensemble de normes et de règles strictes que chaque extension doit respecter pour s’assurer que les extensions répertoriées sur JED respectent les normes de qualité souhaitées..

Voilà donc le JED à votre disposition. Mettez-vous à l'aise et vous serez heureux de l'avoir fait..

Où devrais-je commencer?

Pour les utilisateurs novices, il est toujours recommandé d'installer Joomla! sur votre système local et explorez les fonctions à l’avant et à l’arrière pour vous familiariser avec le système. Voici quelques ressources importantes pour les débutants:

  • Guide du débutant à Joomla!
  • Débuter avec Joomla!
  • Joomla! pour les administrateurs
  • Joomla! Mode d'emploi

Pour les développeurs PHP expérimentés:

  • Configurez votre Joomla! Poste de travail
  • Joomla! pour les développeurs
  • Joomla! Les meilleures pratiques

C'est un sujet tellement vaste que vous trouverez de nombreux tutoriels et vidéos en ligne à votre disposition. En outre, les membres de Joomla! forum de la communauté est assez sympathique pour vous aider à résoudre tous les problèmes.

Conclusion

J'ai eu le plaisir de vous présenter l'un des systèmes de gestion de contenu open source les plus populaires dans le domaine du développement Web: Joomla! Bien que nous ayons à peine rayé la surface du Joomla! monde, j’espère que j’ai pu rendre justice au sujet.

En commençant par une introduction aux systèmes de gestion de contenu, nous avons abordé les différents aspects de Joomla !, suivis d’une discussion des éléments architecturaux importants. Nous avons également examiné le JED et nous avons fourni des ressources utiles dans la dernière partie de cet article..

N'hésitez pas à voir ce que nous avons disponible à la vente et à étudier sur le marché, et n'hésitez pas à poser des questions et à fournir vos précieux commentaires en utilisant le flux ci-dessous.