Le CMS Joomla! est une des solutions technologiques web mondiales majeure avec plus de 60 millions de téléchargement, 8% des parts de marché des CMS et environ 3% du web mondial.
Le CMS Joomla! est un système de gestion de contenu (en anglais CMS pour content management system) libre, open source et gratuit. Il est écrit en PHP et utilise une base de données MySQL. Joomla! inclut des fonctionnalités telles que des flux RSS, des news, une version imprimable des pages, des blogs, des sondages, des recherches. Joomla! est sous licence GNU GPL. Joomla!, déformation du mot swahili Jumla, veut dire : «tous ensemble», en moré « restons unis ». Il est créé à partir du CMS Open Source Mambo en août 2005, suite aux désaccords d'une majorité des développeurs open source avec la société propriétaire du nom de Mambo. Celle-ci, pour accroître sa notoriété, voulait utiliser ce nom pour le CMS propriétaire qu'elle développait en parallèle. La très grande majorité des utilisateurs a rapidement suivi le mouvement.
Le CMS Joomla! a fêté ses 15 ans en 2020
Fondé en 2005 sur un fork du CMS Mambo, la communauté Joomla! a fêté en 2020 les 15 ans de ce CMS Open source majeur.
Une des grandes originalités de la solution Joomla! est que ce CMS utilise une architecture moderne de type MVC (Modèle-Vue-Controleur) basée sur un framework objet qui exploite en masse les design pattern, les espaces de nommage, les overrides de templates etc. Le code du cms Joomla! est très structuré et permet des développements complexes tout en respectant des normes et des conventions professionnelles dans le monde des développeurs PHP.
Globalement le CMS Joomla! fonctionne avec des modules, des composants, des plugins et des templates.
Composants du cms Joomla: Aux articles de base proposés par le CMS, chaque composant ajoute un ou plusieurs types de contenus et fonctionnalités. Avec les composants on étend facilement le CMS en lui ajoutant de nouvelles fonctions (newsletter, forum, blog, gestionnaire d’événements, documents à télécharger etc...)
Modules du cms Joomla: blocs fonctionnels en front office qui affichent des données ou des formulaires issus des composants.
Plugins du cms Joomla!: ce sont des codes qui s’exécutent sur des événements particuliers (à l'affichage, à la sauvegarde, etc...) permettant d'appeler des fonctions natives ou des composants selon les besoins du projet.
Templates du cms Joomla!: Une des grandes richesses du CMS avec des miliers de templates tout faits et des dizaines de framework de templates pour couvrir à peu près tous les besoins en terme de design et de navigation (sur périphériques fixes ou mobiles)
Plus de 8500 extensions existent pour Joomla! pour permettre de constituer rapidement des sites et des applications web sans programmer.
Les versions du CMS Joomla!
Version 1.0 en 2005 (fork de Mambo)
Version 1.5: janvier 2008
Version 1.6 : janvier 2011 avec plusieurs nouveautés dont :
Une nouvelle gestion des autorisations (ACL : Access Control Layer), c'est-à-dire une gestion plus fine des groupes d'utilisateurs
Une hiérarchie infinie de catégories d'articles (catégories imbriquées, limitées jusque là à Sections>Catégories uniques pour chaque élément de contenu)
La gestion multi-langues (qui nécessite dans la version 1.5 l'installation d'un module spécifique)
Version 1.7 : version intermédiaire
La version alpha est sortie le 6 juin 2011
La version officielle est sortie le 19 juillet 2011.
Version 2.5 sortie le 24 janvier 2012 : version majeures de joomla
kits de migration améliorés
Nouveau système de recherche
Support d'autres SGBD
Amélioration SEO
Version 3.0 sortie le 27 septembre 2012 : cette nouvelle version de joomla offre un tableau de bord des multiples fonctionnalités du CMS plus intuitif que sur les versions précédentes et le support responsive design nativement.
Version 3.1 sortie le 24 avril 2013 : cette mise à jour de la branche 3.x inclut plusieurs nouvelles fonctionnalités dont le système de Tag.
Version 3.2 sortie le 6 novembre 2013 : cette mise à jour de la branche 3.x inclut plusieurs nouvelles fonctionnalités dont le système d'historique des contenus, le gestionnaire de template et le Joomla App Store
La version 3.3.x sortie le 15 juin 2014 apporte de nouvelles avancées comme une sécurité accrue (double authentification, BCrypt...), les microdatas, le stockage en cloud, l'abandon de Mootools en faveur de JQuery..
La version 3.4, sortie en février 2015 apporte l'intégration de Composer ou l'édition frontend des modules.
La version 3.5, sortie en mars 2016 apporte notamment le support de PHP 7 pour une optimisation de la vitesse de calcul et d'affichage des pages. Un gain de 2X est souvent constaté.
La version 3.6 sortie en Juillet 2016 apporte 400 nouvelles fonctions ou corrections comme l'amélioration de l'UX en back office, des ACLs, la création de catégories à la volée, des formulaires imbriqués, l'édition Sass et Scss, la mise à jour de Jquery, etc...
La version 3.7 en avril 2017 a apporté 700 modifications et son lot de nouvelles fonctions comme les champs personnalisés, une gestion plus poussée du multi langues, la possibilité accrue de personnaliser son back office et l'amélioration de l'éditeur wysiwyg.
La version 3.8 en septembre 2017 a apporté 300 modifications comme l'évolution du routeur et les premières couches de préparation à Joomla! 4.
La version 3.9 en octobre 2018 a apporté un support natif du RGPD (consentement explicite, traçabilité utilisateur...), des améliorations sur les champs personnalisés, le support du Google ReCaptcha invisible, une sécurité accrue ou encore plus d'options pour les projets multi langues.
La version 3.10 publiée le 17 aout 2021 est une version de transition qui intègre un outil de diagnostique pour vérifier si votre site est compatible avec Joomla 4!
La version 4.0 est aussi sortie le 17 aout 2021. Cette version est totalement nouvelle avec une refonte du framework front et back (bootstrap 4), une ergonomie revue, un gestionnaire de médias nettement plus puissant, un gestionnaire de workflows paramétrables, des web services etc...
La version 4.1 est sortie le 15 février 2022. Cette version annonce la maturité de la branche 4.x avec l'intégration d'un planificateur de tâches, les templates enfants, le vérificateur d'accessibilité et la coloration syntaxique dans l'éditeur intégré.
Les 3 façons d'utiliser le CMS Joomla!
Comparé à d'autres solutions (Wordpress ou Drupal par exemple) le CMS Joomla! est le seul qui puisse être exploité par 3 types d'utilisateurs très différents:
par des webmasters sans connaissance de programmation voire très peu même en CSS avec l'assemblage d'extensions prêtes à l'emploi pour des sites réalisés trés rapidement si les fonctions proposés par les extensions couvrent les besoins du cahier des charges
par des développeurs PHP professionels qui vont travailler uniquement au niveau du framework Joomla! sans installer aucune extension et en développant les fonctions spécifiques exactement comme demandées.
par des intégrateurs avancés dans une approche CCK (comme avec Seblod) qui permet de développer des sites et des applications web dédiées et spécifiques rapidement sans pour autant nécessiter un développement PHP from scratch.
Comment la technologie Joomla permet de réduire les coûts? Aujourd'hui de nombreuses entreprises disposent de plusieurs sites (filiales, agences, intranet, extranets, sites vitrines et boutiques etc...). Il devient souvent pénible de devoir gérer plusieurs plateformes avec des compétences ou des équipes différentes. La fonction Multi sites Joomla! n'est pas livrée en standard avec le CMS mais le devient une fois qu'on lui adjoint le CCK Seblod. Nous montrons ici les gains obtenus par cette architecture multi sites qui utilise les fonctions natives du CMS Joomla!
Choisir les bonnes extensions Joomla!:
Quelles extensions Joomla! choisir ? Quels sont les critères de sélection et sur quelles plateformes aller (http://extensions.joomla.fr/ ou http://extensions.joomla.org/) ? Mais pour répondre à la question: Architecture Joomla! : les bonnes extensions la solution revient souvent à minimiser les extensions pour faibiliser, sécuriser et rendre plus cohérent les développements réalisés. L'agence web Pulsar a choisi une architecture minimaliste avec une approche CCK pour répondre à ces objectifs.
Le CMS Joomla! face à Wordpress et Drupal:
Comment comparer Joomla! aux autres autres solutions de CMS Open Source leaders ? Quels sont les avantages et inconvénients de Wordpress et de Drupal ? Comment se comporte Joomla! face à Wordpress et Drupal ? En quoi le couple Joomla! / SEBLOD constitue une alternative performante à Drupal tout en maintenant des délais et des coûts de développements inférieurs ?