Au fil de son évolution, Joomla! intégre de nombreuses bibliothèques facilitant le travail des développeurs pour doter le CMS de nombreuses fonctionnalités.
Ces biliothèques garantissent qu’il n’y aura pas de conflits entre les différents plugins, modules ou composants développés.
Trop souvent encore des extensions mal développées n’utilisent pas ces bibliothèques mais les chargent avec elles, provoquant des risques parfois critiques d’erreurs, de conflits mais qui dans tous les cas ralentissent les performances du site.
En ouvrant le capot de Joomla, on découvre de nombreuses bibliothèques facilitant le travail des développeurs pour doter le CMS Opensource de nombreuses fonctionnalités supplémentaires.
Ces biliothèques garantissent qu’il n’y aura pas de conflits entre les différents plugins, modules ou composants développés les utilisants.
Malheureusement, trop souvent encore des extensions mal développées n’utilisent pas ces bibliothèques mais les chargent avec elles, provoquant des risques parfois critiques d’erreurs, de conflits mais qui dans tous les cas ralentissent les performances du site.
Voici la liste, présente dans la version Joomla 3.2 des libraries disponibles pour étendre Joomla.
Les bibliothèques Javascript
- Mootools et Mootools More
- Framework javascript compact, historique depuis la version 1.5 de Joomla, il peut être désactivé facilement dans les templates
- jQuery et jQuery UI (Core, Widget, Mouse, Position, and Sortable)
- Framework javascript compact, très largement répandu
- Bootstrap
- Frame CSS et javascript, optimisé pour le Responsive Web Design
Les bibliothèques PHP
- Simple Pie – Remplacée par JFeed
- Bibliothèque de génération des flux RSS
- PHP Mailer
- Moteur d’envoi d’email
- PHP UTF-8
- Permet l’internationalisation des contenus avec l’encodage UTF8 des caractères
- IDNA Convert
- Permet l’internationalisation des noms de domaines avec l’encodage UTF8 des caractères
- FOF
- Permet le développement rapide d’applications
- Password Compat
- Compatibilité des mots de passe
- Captcha
- Permet la protection des formulaires en utilisant le service Recaptcha
- LDAP
- Permet la connection aux services d’annuaires sur un serveur. Utilisée pour le développement d’un Intranet basé sous Joomla
- Midrodatas
- Permet l’implémentation facilité des extraits enrichis
- Permet le développement d’extensions intégrant Facebook
- Github
- Permet de développer en mode collaboratif en utilisant la plateforme Github
- Permet le développement d’extensions intégrant Google+
- Keychain
- Permet la gestion des clés publiques et clés privées pour les connexions à des services externes
- Permet le développement d’extensions intégrant Linkedin
- Mediawiki
- Permet le SSO entre Joomla! et Mediawiki
- OAuth1 et OAuth2
- Permet le développement d’extensions connectées à des plateformes utilisant ces protocoles
- Openstreet Map
- Permet d’intégrer dans Joomla! les cartes interactives OpenStreetMap
- Permet le développement d’extensions intégrant Twitter
- DI Container
- Modifie la gestion des dépendances de classes à l’instar du Symfony2
Toutes ces bibliothèques rendent Joomla! indiscutablement à la hauteur des plus performants CMS.
Sur la base de Joomla! et de ses multiples bibliothèques, il est possible de développer des applications web modernes, riches, sécurisées et s’intégrant à de très nombreux services externes.